Check Concurrent Managers Status
In Oracle Applications, when we have to check the status of
Concurrent Managers,
we usually login to Oracle Applications and select
the following path:
System Administrator >> Concurrent : Manager >> Administer
On this
screen, we see the Actual and
Target processes for a concurrent manager and if they are same and
nonzero, we conclude that the CM is working fine.
Now, I am going to post a simple sql script which shows the same output as shown in the
screen above. Here it goes:
select decode(CONCURRENT_QUEUE_NAME,'FNDICM','Internal Manager',
'FNDCRM','Conflict Resolution Manager','AMSDMIN','Marketing Data Mining Manager',
'C_AQCT_SVC','C AQCART Service','FFTM','FastFormula Transaction Manager',
'FNDCPOPP','Output Post Processor','FNDSCH','Scheduler/Prereleaser Manager',
'FNDSM_AQHERP','Service Manager: AQHERP','FTE_TXN_MANAGER',
'Transportation Manager','IEU_SH_CS','Session History Cleanup',
'IEU_WL_CS','UWQ Worklist Items Release for Crashed session','INVMGR',
'Inventory Manager','INVTMRPM','INV Remote Procedure Manager','OAMCOLMGR',
'OAM Metrics Collection Manager','PASMGR','PA Streamline Manager','PODAMGR',
'PO Document Approval Manager','RCVOLTM','Receiving Transaction Manager',
'STANDARD','Standard Manager','WFALSNRSVC','Workflow Agent Listener Service',
'WFMLRSVC','Workflow Mailer Service','WFWSSVC',
'Workflow Document Web Services Service','WMSTAMGR','WMS Task Archiving Manager',
'XDP_APPL_SVC','SFM Application Monitoring Service','XDP_CTRL_SVC',
'SFM Controller Service','XDP_Q_EVENT_SVC','SFM Event Manager Queue Service',
'XDP_Q_FA_SVC','SFM Fulfillment Actions Queue Service','XDP_Q_FE_READY_SVC',
'SFM Fulfillment Element Ready Queue Service','XDP_Q_IN_MSG_SVC',
'SFM Inbound Messages Queue Service','XDP_Q_ORDER_SVC','SFM Order Queue Service',
'XDP_Q_TIMER_SVC','SFM Timer Queue Service','XDP_Q_WI_SVC',
'SFM Work Item Queue Service','XDP_SMIT_SVC','SFM SM Interface Test Service')
as "Concurrent Manager's Name", max_processes as "TARGET Processes",
running_processes as "ACTUAL Processes"
from apps.fnd_concurrent_queues where CONCURRENT_QUEUE_NAME in
('FNDICM','FNDCRM','AMSDMIN','C_AQCT_SVC','FFTM','FNDCPOPP','FNDSCH',
'FNDSM_AQHERP','FTE_TXN_MANAGER','IEU_SH_CS','IEU_WL_CS','INVMGR','INVTMRPM',
'OAMCOLMGR','PASMGR','PODAMGR','RCVOLTM','STANDARD','WFALSNRSVC','WFMLRSVC',
'WFWSSVC','WMSTAMGR','XDP_APPL_SVC','XDP_CTRL_SVC','XDP_Q_EVENT_SVC',
'XDP_Q_FA_SVC','XDP_Q_FE_READY_SVC','XDP_Q_IN_MSG_SVC','XDP_Q_ORDER_SVC',
'XDP_Q_TIMER_SVC','XDP_Q_WI_SVC','XDP_SMIT_SVC');
save the above SQL in a script as “cmstatus.sql”
Connect as “apps” and run the above script:
sqlplus apps/******
SQL> set pagesize 9999
SQL> @cmstatus.sql
Concurrent Manager's Name TARGET Processes ACTUAL Processes
---------------------------------------------- ---------------- ----------------
Service Manager: AQHERP 1 1
Output Post Processor 1 1
Workflow Document Web Services Service 1 1
WMS Task Archiving Manager 2 2
Marketing Data Mining Manager 5 5
Conflict Resolution Manager 1 1
Internal Manager 1 1
Scheduler/Prereleaser Manager 1 1
Standard Manager 10 10
PO Document Approval Manager 3 3
Receiving Transaction Manager 3 3
FastFormula Transaction Manager 1 1
PA Streamline Manager 1 1
Inventory Manager 5 5
INV Remote Procedure Manager 5 5
Workflow Agent Listener Service 1 1
Workflow Mailer Service 1 1
Transportation Manager 10 10
C AQCART Service 1 1
Session History Cleanup 1 1
UWQ Worklist Items Release for Crashed session 1 1
SFM Controller Service 1 1
SFM Order Queue Service 1 1
SFM Work Item Queue Service 1 1
SFM Fulfillment Actions Queue Service 1 1
SFM Fulfillment Element Ready Queue Service 1 1
SFM Event Manager Queue Service 1 1
SFM Inbound Messages Queue Service 1 1
SFM Timer Queue Service 1 1
SFM Application Monitoring Service 1 1
SFM SM Interface Test Service 1 1
OAM Metrics Collection Manager 1 1
32 rows selected.
It will show you the similar output as shown by Concurrent Manager Administer screen.
You can run the same script through a shell script and mail this output to your mailbox every morning.
How to check Concurrent Managers Status from the Back End?select CONCURRENT_QUEUE_NAME,max_processes,running_processes,decode(control_code,
'A','Activating',
'B','Activated',
'D','Deactivating',
'E','Deactivated',
'N','Target node/queue unavailable',
'O','Suspending concurrent manager',
'P','Suspended',
'Q','Resuming concurrent manager',
'R','Restarting',
'T','Terminating',
'U','Updating environment information',
'V','Verifying',
'X','Terminated')
from apps.fnd_concurrent_queues
where
MAX_PROCESSES <> RUNNING_PROCESSES or
(control_code is not null and control_code not in ('B','E'));
Internal Concurrent Manager Status Check
We can find the status of Internal Concurrent Manager with this script.
If it is down, then we need to take steps to turn it back on. You must run it as user applsys or sys.
SELECT DECODE(RUNNING_PROCESSES, 1, 'UP', 'DOWN') STATUS
FROM APPLSYS.FND_CONCURRENT_QUEUES
WHERE CONCURRENT_QUEUE_NAME = 'FNDICM';
Script to display status of all Concurrent Managers
-- Script to display status of all Concurrent Managers
-- Uses :sqlplus> apps/<apps_password>
set head on
Column OsId Format A10
Column CpId Format 999999
Column Opid Format 999
Column Manager Format A30
Column Status Format A20
Column Started_At Format A30
Column Cpid Heading 'Concurrent|Process ID'
Column OsId Heading 'System|Process ID'
Column Opid Heading 'Oracle|Process ID'
Column Manager Heading 'Concurrent Manager Name'
Column Status Heading 'Status|of Concurrent|Manager'
Column Started_At Heading 'Concurrent Manager|Started at'
Column Opid Justify Left
Select distinct Concurrent_Process_Id CpId, PID Opid,
Os_Process_ID Osid,
Q.Concurrent_Queue_Name Manager,
P.process_status_code Status,
To_Char(P.Process_Start_Date, 'MM-DD-YYYY HH:MI:SSAM') Started_At
from apps.Fnd_Concurrent_Processes P, apps.Fnd_Concurrent_Queues Q, apps.FND_V$Process
where Q.Application_Id = Queue_Application_ID
And (Q.Concurrent_Queue_ID = P.Concurrent_Queue_ID)
And ( Spid = Os_Process_ID )
And Process_Status_Code not in ('K','S')
Order by Concurrent_Process_ID, Os_Process_Id, Q.Concurrent_Queue_Name ;
*******************************END***************************************