Overview of Concurrent Processing
Concurrent Requests, Programs, and Processes
Concurrent Managers start concurrent programs
Every time your users request a concurrent program to be run, their request is inserted into a database table, and is uniquely identified by a request ID. Concurrent managers read requests from this table. Part of a manager's definition is how many operating system processes it can devote to running requests. This number is referred to as the manager's number of target processes.Running concurrent programs
A concurrent program actually starts running based on:- When it is scheduled to start
- Whether it is placed on hold,
- Whether it is incompatible (cannot run) with other programs
- Its request priority
Concurrent Request Priorities
The priority of a concurrent request is determined by application username, and is set by the System Administrator using the Concurrent:Priority user profile option. The first available concurrent manager compares the request's priority to other requests it is eligible to process, and runs the request with the highest priority.When choosing between requests of equal priority, the concurrent manager runs the oldest request first.
Parent requests and Child requests
Often, several programs may be grouped together, as in a request set. Submitting the request set as a whole generates a request ID, and as each member of the set is submitted it receives its own request ID. The set's request ID identifies the Parent request, and each of the individual programs' request ID identifies a Child request.Life cycle of a concurrent request
Pending
|
Request is waiting to be run
|
Running
|
Request is running
|
Completed
|
Request has finished
|
Inactive
|
Request cannot be run
|
Concurrent Request Phase and Status
Status
|
Description
|
|
|
|
|
PENDING
|
Normal
|
Request is waiting for the next available manager.
|
|
Standby
|
Program to run request is incompatible with other
program(s) currently running.
|
|
Scheduled
|
Request is scheduled to start at a future time or date.
|
|
Waiting
|
A child request is waiting for its Parent request to mark
it ready to run. For example, a report in a report set that runs sequentially
must wait for a prior report to complete.
|
|
|
|
RUNNING
|
Normal
|
Request is running normally.
|
|
Paused
|
Parent request pauses for all its child requests to
complete. For example, a report set pauses for all reports in the set to
complete.
|
|
Resuming
|
All requests submitted by the same parent request have
completed running. The Parent request is waiting to be restarted.
|
|
Terminating
|
Running request is terminated, by selecting Terminate
in the Status field of the Request Details zone.
|
|
|
|
COMPLETED
|
Normal
|
Request completes normally.
|
|
Error
|
Request failed to complete successfully.
|
|
Warning
|
Request completes with warnings. For example, a report is
generated successfully but fails to print.
|
|
Cancelled
|
Pending or Inactive request is cancelled, by selecting Cancel
in the Status field of the Request Details zone.
|
|
Terminated
|
Running request is terminated, by selecting Terminate
in the Status field of the Request Details zone.
|
|
|
|
INACTIVE
|
Disabled
|
Program to run request is not enabled. Contact your system
administrator.
|
|
On Hold
|
Pending request is placed on hold, by selecting Hold
in the Status field of the Request Details zone.
|
|
No Manager
|
No manager is defined to run the request. Check with your
system administrator.
|
How To View Request Status and Output
Use the Requests Window
Use the Requests window to view the status of concurrent
requests, and to view request log and report output files.
The System Administrator and Oracle
Alert Manager have a privileged version of the Requests window that provides
you with more capabilities than your end users. For example, using the Requests
window, you can view the status of and log files for all
concurrent requests (not just your own), including requests that completed
unsuccessfully. On some platforms, you can even view the log files of running
requests.Using the same window, you can view your own report output online. You cannot, however, view report output from other users' requests.
From the Requests window, you can also:
- place and remove holds from any pending or inactive request
- cancel a pending request, or terminate a running request
- change the priority of any pending request
- view the manager log file
- determine where any pending request stands in the queue for each manager defined to accept the request
Run the Completed Concurrent Requests Report
You can run a report that lists parameters and any error
messages associated with concurrent requests that have completed running.
How to Modify Request Diagnostic Output
Collect Runtime Data
Set the profile option Concurrent:Collect Request Statistics to "Yes" to collect runtime statistics. A concurrent request may be comprised of one or two processes: a sql*net shadow which consumes database server resources, and a front-end process such as a C executable. The time used by the CPU is collected for both of these types of processes.Summarize and View Runtime Statistics
To review the statistics you must run the Purge Concurrent Request and/or Manager Data program to process the raw data and have it write the computed statistics to the FND_CONC_STAT_SUMMARY table. You can review the statistics on a request by request basis using the Diagnostics window from the Requests window.Setting End User Report and Log File Access Privileges
If you set the Concurrent:Report Access Level option to "Responsibility" at the User level, that user can also review the log and report output files from all requests submitted from the current responsibility.
If you set the Concurrent:Report Access Level option to "Responsibility" at the Responsibility level, any user of a responsibility can also view the log and report output files from all requests submitted by any other user of that responsibility.
Managing Concurrent Processing Files and Tables
FND_CONCURRENT_REQUESTS
This table contains a complete history of all concurrent requests.FND_RUN_REQUESTS
When a user submits a report set, this table stores information about the reports in the report set and the parameter values for each report.FND_CONC_REQUEST_ARGUMENTS
This table records arguments passed by the concurrent manager to each program it starts running.FND_DUAL
This table records when requests do not update database tables.FND_CONCURRENT_PROCESSES
This table records information about Oracle Applications and operating system processes.FND_CONC_STAT_LIST
This table collects runtime performance statistics for concurrent requests.FND_CONC_STAT_SUMMARY
This table contains the concurrent program performance statistics generated by the Purge Concurrent Request and/or Manager Data program. The Purge Concurrent Request and/or Manager Data program uses the data in FND_CONC_STAT_LIST to compute these statistics.Maintenance Suggestions
Suggestion: You can run the program "Purge Concurrent Request and/or Manager Data" once and automatically resubmit the program for you at specific time intervals.There are some sample guidelines for when to run the Purge Concurrent Requests and/or Manager Data program. Adopt these guidelines according to your user community's usage of Oracle Applications.
- every 30 days for normal usage
- every two weeks (14 days) for heavy usage
- if using the AGE mode, set the Mode Value to 5 to retain the five most recent days of concurrent request data, log files, and report output files.
No comments:
Post a Comment