Q1. Why concurrent request is in pending standby mode for long time ?
Answer:
Cause
Phase code Pending and Status code Standby means concurrent request has been processed by ICM (Internal Concurrent Manager) , however it is held by CRM(conflict resolution manager) due to incompatibilities with other programs that are currently running. One more possibility of pending standby is CRM itself is not available / not running.
Solution
i. Through SYSADMIN login go to System Administrator responsibility -> concurrent manager -> CRM And check if it is running state if not then activate the same
ii. In above scenario if CRM is running and still concurrent request is in pending standby state then click on verify button and resubmit the request.
iii. if above two steps doesn't help then application developer intervention is required to re-validate the incompatibilities in application developer responsibility -> concurrent -> program -> Incompatibilities
Q2. Why concurrent request is in pending inactive mode for long time ?
Answer:
Cause
concurrent request goes in pending inactive status when there is no available concurrent manager process to execute the submitted request
Solution
i. Check if ICM or SM (Standard Manager) processes are running , start them if not they are not running
ii. Even if ICM/SM managers are running but status is pending inactive for long time , ICM/CM considered to be busy and exhausted with number of processes allocated. So consider adding processes as per availability of OS resources on concurrent manager node
iii. Check if any specialization rule applied to concurrent request submitted and delete the same
iv. Check if 'Run Alone' flag is set FND_CONCURRENT_REQUEST table (RUN_ALONE_FLAG) column , remove the same
Q3. Why request logfile says manager processing this request is not responding ?
Answer:
Cause
Standard or product manager which has accepted the request but unable to process the same leads to not responding message in request logfile.
Possible reason for non working managers is inappropriate node definition in manager -> define , which fails during fail-over of process
Solution
i. Check the definition of concurrent manager and update appropriate node configuration of parallel concurrent manager
ii. Check if particular concurrent manager which has accepted the request is hanged and which may need termination through OS pid killing or by updating Phase code => C (Completed) And status code => D (Disabled)
Q4. Why concurrent request is running for long time without completion ?
Answer:
Cause
concurrent request is said to be running long time when phase code is Running and status code is Normal over longer period when compared with time taken for completion in the history of execution of CPID/concurrent program ID.
concurrent request may run longer for multiple reasons such as Untuned sql queries , fetching huge data in output file , stale statistics of the table involved in slow running sql , missing indexes , new deployment or huge volume being processed with high workload on system
Solution
i. Identify slow running concurrent manager request ID and get relevant information e.g. dbname , sid or OS process is /pid
ii. identify concurrent program id for comparison with history of execution
iii. Use view such as v$session , v$process , v$sqlarea , v$session_longops , v$session_wait to identify long running db session and relevant sql statement
iv. In case concerned request execution program is very complex with high number of line of codes go for oradebug or form level tracing 10046 level 12 trace and run tkprof to identify slow running sql execution plan and tune it further as per best practice
Q5. Why concurrent request queue is increasing ?
Answer:
Cause
Possible reason for requests getting queue up in Phase/Status (Pending/Normal, Running/Normal)
i. Inadequate number of concurrent manager processes serving high number of user requests
ii. Over sizing of CM process causing bottleneck at OS leading to high utilization of resources and slowdown
iii. Hanged sessions due to en-queue wait event on FND tables to manage the concurrency
Solution
i. Check ICM and other concurrent manager process for active status
ii. Re-review the number of processes handling concurrent request for particular application against load on system or hardware configuration
iii. Check if any ORA-00054 resource busy and acquire with NOWAIT error appears in request logfile , which needs to be cleaned up by updating phase/status code in FND_CONCURRENT_REQUEST table as performed in Q3 solution
iv. Verify sleep time if SM is taking time to pick up the pending queue. In R12 , sleep time
is overridden it incoming request volume is high
v. Manage Work Shift setting in accordance with criticality and appropriate time slot for set of concurrent requests
vi. Sleep time to be updated as per formula S = N * (1-U) * T
where
S= Sleep time in seconds
N= Number of CM processes
U= Utilization of system by CM
T= Time for which request is allowed to be pending
vii. Increase the cache size post analyzing its effectiveness in few runs
Also Refer , Concurrent Manager request workflow in oracle Apps
No comments:
Post a Comment