Oracle EBS Concurrent Request Purge Retention and Disk Calculator
This calculator sizes the effect of the Age parameter of Purge Concurrent Request and/or Manager Data (FNDCPPUR) in Oracle E-Business Suite 12.2: how much disk the request log and output files take and how much space FND_CONCURRENT_REQUESTS and its child rows hold. Change the purge Age and the chart shows both curves from 7 to 180 days.
Your numbers
Replace with a real count: completed requests in FND_CONCURRENT_REQUESTS grouped by TRUNC(ACTUAL_COMPLETION_DATE), averaged over recent weeks.
Average of LFILE_SIZE (bytes) in FND_CONCURRENT_REQUESTS divided by 1024, or measure the files under the log directory.
Average of OFILE_SIZE (bytes) divided by 1024. Many programs write no output, so average over all requests, not only reports.
Requests whose XML data output is post-processed by the Output Post Processor into a second, formatted file (PDF, RTF, Excel).
Size of the additional formatted output created by the Output Post Processor, on top of the request output file.
Mode = Age, Mode Value = days of request history, log and output files to keep.
Segment bytes of the table plus its indexes divided by its row count, from DBA_SEGMENTS and DBA_TABLES.
Rows in related FND tables per request, for example FND_CONC_REQUEST_ARGUMENTS and FND_RUN_REQUESTS (request set members), which the purge also clears.
Average segment bytes per child row including indexes.
Your results
Defaults are assumptions. Replace them with counts and averages from FND_CONCURRENT_REQUESTS and the file system on your instance. Retention must also satisfy your audit and records policy.
Disk (GB) and table space (MB) versus purge Age in days
Sweeps Purge Age (Mode Value, days) from 7 to 180, holding your other inputs fixed.
Get your purge Age reviewed against real volumes
Send us your request counts, file sizes and audit retention needs and we will return a reviewed FNDCPPUR schedule and disk estimate for your 12.2 instance.
Optional. The tool and every export work without this. No spam.
What FNDCPPUR does and its parameters
Purge Concurrent Request and/or Manager Data deletes request log files, manager log files and report output files from the operating system, and deletes history rows from Application Object Library tables. The documented tables are FND_CONCURRENT_REQUESTS, FND_RUN_REQUESTS, FND_CONC_REQUEST_ARGUMENTS, FND_DUAL, FND_CONCURRENT_PROCESSES and FND_CONC_STAT_LIST. You submit it from the System Administrator responsibility and can schedule it to resubmit itself.
- Entity: All (requests, managers and their files), Manager, or Request.
- Mode: Age keeps the last N days; Count keeps the N most recent records.
- Mode Value: days for Age or records for Count, valid 1 to 9999999.
- Optional filters: Oracle ID, User Name, Responsibility Application, Responsibility, Program Application, Program, Manager Application, Manager.
- Report: Yes lists the number of records purged. Purge Other: Yes also deletes FND_DUAL rows.
The formulas and where the files live
With Mode = Age and a daily schedule, the history settles at requests per day times the Age, because each run deletes one day as another is added. File disk is that count times the average KB per request (log plus output plus the XML Publisher share of the extra formatted file), divided by 1,048,576 to get GB. Table space is the same count times bytes per row including indexes and child rows. These are steady-state averages, not an Oracle sizing formula. Under the default single file scheme (APPLLDM = single), request logs go to $APPLCSF/log and outputs to $APPLCSF/out; the product and user schemes, and the date and request ID schemes added in 12.2.6, create subdirectories under $APPLCSF instead. The purge removes files wherever they are, but empty subdirectories created by those schemes are left behind for you to clean up.
Worked example
At 8,000 requests a day, 20 KB logs, 150 KB outputs and 30% of requests adding a 200 KB formatted file, the average is 230 KB per request. A 30-day Age keeps 240,000 requests, about 52.6 GB of files and about 687 MB of table and index space at 2,000 bytes per row plus two 500-byte child rows. Without any purge, the instance grows about 1.8 GB a day, roughly 650 GB a year. Cutting the Age to 14 days drops file disk to about 24.6 GB. The matching Mode = Count value for 30 days is 240,000.
Gotchas: audit, Retain for, and scheduling
Oracle's sample guideline is to run the purge every 30 days for normal usage and every 14 days for heavy usage; many DBAs instead schedule it daily with a fixed Age so the file system stays flat, which is what this model assumes. Purging removes audit detail: the Signon Audit Concurrent Requests report and the Concurrent Request Statistics by Program report read FND_CONCURRENT_REQUESTS, so agree the Age with audit and finance before lowering it. A program defined with a Retain for value (days) on the HTML Concurrent Programs page keeps its requests for that many days even when the purge runs. Use the Program filter to purge chatty programs on a shorter Age than the default run.
Frequently Asked Questions
What is the concurrent request table in Oracle EBS?
FND_CONCURRENT_REQUESTS holds one row per request with its program, requester, phase and status codes, dates, and log and output file names. Related history sits in FND_RUN_REQUESTS for request sets, FND_CONC_REQUEST_ARGUMENTS for arguments, and FND_CONCURRENT_PROCESSES for manager processes. FNDCPPUR purges these tables, depending on the Entity you choose.
Which Oracle R12 concurrent request tables does the purge clear?
The System Administrator guide for 12.2 lists FND_CONCURRENT_REQUESTS, FND_RUN_REQUESTS, FND_CONC_REQUEST_ARGUMENTS, FND_DUAL, FND_CONCURRENT_PROCESSES and FND_CONC_STAT_LIST. FND_DUAL is only cleared when Purge Other is Yes. Count other request-related tables on your instance before and after a run to confirm their behaviour on your release.
Should I use Mode Age or Mode Count?
Age is easier to reason about for audit because it maps to a time window, and disk use follows request volume. Count caps the number of requests kept, so disk stays bounded even if volume spikes, but the time window shrinks on busy days. This calculator shows the Count value equivalent to your chosen Age.
How do I get real inputs instead of the defaults?
Count completed requests per day from FND_CONCURRENT_REQUESTS by TRUNC(ACTUAL_COMPLETION_DATE). Average LFILE_SIZE and OFILE_SIZE for file sizes, and compare with du on the log and out directories. For row bytes, divide the table and index segment bytes in DBA_SEGMENTS by the row count.
If you want your DBAs to ask EBS about request volumes, slow programs and purge history in plain English on your own servers, we can set that up read-only.
Related Tools
Oracle EBS Concurrent Request Phase and Status Reference
Look up every common phase and status combination for a concurrent request, with what it means and the first thing to check.
OracleOracle EBS SQL for Concurrent Requests Generator
Build ready-to-run SQL for recent, running, pending and long-running concurrent requests from a few filter fields.
OracleOracle EBS Concurrent Program Registration Request Template
A request form that captures everything an EBS developer needs to register a custom concurrent program: executable, execution method, parameters, request group and incompatibilities.
OracleOracle EBS Patching Checklist for adop
Step through a full adop patching cycle with pre-checks, the five phases and post-patch validation.
More Oracle tools
See all- Oracle EBS Inventory Tables Reference
- Oracle EBS WIP Tables Reference
- Oracle EBS Cycle Count Workload Calculator
- Oracle EBS Discrete Manufacturing Go-Live Checklist
- Oracle EBS Inventory Accuracy Readiness Assessment
- Oracle EBS Responsibility Design Worksheet
- Oracle EBS GL Period Close Checklist
- Oracle EBS AP Invoice Interface Template
- Oracle EBS 12.2 Upgrade Readiness Checklist
Keep exploring
Free tools
- Oracle EBS Concurrent Request Phase and Status ReferenceLook up every common phase and status combination for a concurrent request, with what it means and the first thing to check.
- Oracle EBS Concurrent Program Registration Request TemplateA request form that captures everything an EBS developer needs to register a custom concurrent program: executable, execution method, parameters, request group and incompatibilities.
- Oracle EBS SQL for Concurrent Requests GeneratorBuild ready-to-run SQL for recent, running, pending and long-running concurrent requests from a few filter fields.
ERP fixes and how-tos
- How to purge concurrent requests and manager data in Oracle EBSHow to schedule Purge Concurrent Request and/or Manager Data in Oracle EBS: the parameters, what is deleted, what else to purge, and mistakes that slow the system.
- How to Register a Custom Concurrent Program in Oracle EBSRegister a custom Oracle EBS concurrent program end to end: build the executable, define the program and parameters, and add it to a request group so users can run it.
- Concurrent request completes with Warning and an FDPSTP messageFix Oracle EBS concurrent requests completing with warning and the FDPSTP post-processing message - check the request log for the real underlying program error before treating this as a display or printing issue.