concurrent manager sql
TRANSCRIPT
Concurrent Manager SQL
SELECT COUNT(*) FROM fnd_concurrent_requests;prompt-----------------------------------------prompt Step 2 Checking how many ROWS IN FND_CONCURRENT_PROCESSES TABLE.SELECT COUNT(*) FROM fnd_concurrent_processes;prompt-----------------------------------------------
prompt Step 3 Checking sys.dual TABLE which should have one AND ONLY one ROW.SELECT COUNT(*) FROM sys.dual;prompt IF you have more THAN one ROW IN sys.dual, please DELETE itprompt SQL> DELETE ROWNUM FROM SYS.DUAL;Prompt ROWNUM= THE ROW NUMBER TO DELETEpromptpromptprompt---------------------------------------------
prompt Step 4 Checking fnd_dual. There must be AT lest one ROW:SELECT COUNT(*) FROM fnd_dual;prompt IF there are NO RECORD selected,prompt UPDATE fnd_dual TABLE TO have AT lest one RECORDprompt----------------------------------------------prompt Step 5 Checking THE Internal Manager QUEUE NAME "FNDICM" which should be=1SELECT concurrent_queue_id FROM fnd_concurrent_queuesWHERE concurrent_queue_name='FNDICM';prompt----------------------------------------------prompt Step 6 Checking FOR Active processes UNDER THE Internal Manager QUEUEprompt IN fnd_concurrent_proceses TABLE:promptSELECT a.concurrent_queue_name, SUBSTR(b.os_process_id,0,10) "OS Proc", b.oracle_process_id "Oracle ID", b.process_status_codeFROM fnd_concurrent_queues a, fnd_concurrent_processes bWHERE a.concurrent_queue_id=b.concurrent_queue_idAND a.concurrent_queue_name='FNDICM'AND b.process_status_code='A'ORDER BY b.process_status_code;prompt IF ANY ROWS FOUND WITH process_status_code WITH VALUE = 'A' (= Active)prompt THE internal Manager will NOT START up ,so TO avoide this issue
prompt UPDATE these ROWS TO have process_status_code VALUE ='K'(terminated)promptprompt-----------------------------------------prompt Step 7 Checking FOR Active processes UNDER THE Standard Manager QUEUEprompt IN fnd_concurrent_proceses TABLE:promptSELECT a.concurrent_queue_name, SUBSTR(b.os_process_id,0,10) "OS Proc", b.oracle_process_id "Oracle ID", b.process_status_codeFROM fnd_concurrent_queues a, fnd_concurrent_processes bWHERE a.concurrent_queue_id=b.concurrent_queue_idAND a.concurrent_queue_name='STANDARD'AND b.process_status_code='A'ORDER BY b.process_status_code;prompt IF ANY ROWS FOUND WITH process_status_code WITH VALUE = 'A' (= Active)prompt THE internal Manager will NOT START up ,so TO avoide this issueprompt UPDATE these ROWS TO have process_status_code VALUE ='K'(terminated)promptprompt------------------------------------------prompt Step 8 Checking FOR Active processes UNDER THE Conflict Manager QUEUEprompt IN fnd_concurrent_proceses TABLE:promptSELECT a.concurrent_queue_name, SUBSTR(b.os_process_id,0,10) "OS Proc", b.oracle_process_id "Oracle ID", b.process_status_codeFROM fnd_concurrent_queues a, fnd_concurrent_processes bWHERE a.concurrent_queue_id=b.concurrent_queue_idAND a.concurrent_queue_name='FNDCRM'AND b.process_status_code='A'ORDER BY b.process_status_code;prompt IF ANY ROWS FOUND WITH process_status_code WITH VALUE = 'A' (= Active)prompt THE internal Manager will NOT START up ,so TO avoide this issueprompt UPDATE these ROWS TO have process_status_code VALUE ='K'(terminated)promptprompt---------------------------------------------------prompt Step 9 Checking Actual AND Target Processes FOR Internal Manager:SELECT MAX_PROCESSES,RUNNING_PROCESSESFROM FND_CONCURRENT_QUEUESWHERE CONCURRENT_QUEUE_NAME='FNDICM';
prompt IF THE MAX_PROCESSES=RUNNING_PROCESSES that means THE manager IS UP.promptprompt--------------------------------------------------------prompt Step 10 Checking Actual AND Target Processes FOR THE Standard Manager:SELECT MAX_PROCESSES,RUNNING_PROCESSESFROM FND_CONCURRENT_QUEUESWHERE CONCURRENT_QUEUE_NAME='STANDARD';prompt IF THE MAX_PROCESSES=RUNNING_PROCESSES that means THE manager IS UP.promptprompt---------------------------------------------------------prompt Step 11 Checking Actual AND Target Processes FOR Conflict Resolution Manager:SELECT MAX_PROCESSES,RUNNING_PROCESSESFROM FND_CONCURRENT_QUEUESWHERE CONCURRENT_QUEUE_NAME='FNDCRM';prompt IF THE MAX_PROCESSES=RUNNING_PROCESSES that means THE manager IS UP.promptprompt---------------------------------------------------------Prompt Step 12 Checking IF THE control_code SET TO 'N':SELECT control_code FROM fnd_concurrent_queuesWHERE control_code='N';promptprompt IF ANY ROWS selected, please UPDATE THE TABLE fnd_concurrent_queues:prompt UPDATE fnd_concurrent_queues SET control_code = NULLprompt WHERE control_code ='N';PROMPT UPDATE fnd_concurrent_queues SET target_node = NULL;PROMPT COMMIT;promptprompt--------------------------------PROMPT Step 13 Checking terminated processes:PROMPTSELECT COUNT (*) FROM fnd_concurrent_requestsWHERE status_code='T';promptprompt IF you have terminated processes RUN THE FOLLOWING SQL STATEMENT:promptprompt SQL> UPDATE fnd_concurrent_requestsprompt SET status_code = 'E', phase_code = 'C'prompt WHERE status_code = 'T';prompt
------------------------------------------
prompt Step 14 Checking pending requests:SELECT COUNT(*) FROM fnd_concurrent_requestsWHERE status_code='P';prompt IF ANY ROWS selected please RUN THE FOLLOWING SQL STATEMENT:prompt SQL> UPDATE fnd_concurrent_requestsprompt SET status_code = 'E', phase_code = 'C'prompt WHERE status_code = 'P';prompt------------------------------------------------------prompt Step 15 Checking Running processes:promptSELECT COUNT (*) FROM fnd_concurrent_requestsWHERE status_code='R';promptprompt IF you have Running processes RUN THE FOLLOWING SQL STATEMENTprompt SQL> UPDATE fnd_concurrent_requestsprompt SET status_code = 'E', phase_code = 'C'prompt WHERE status_code = 'R';prompt------------------------------------------prompt Step 16 Checking THE PMON METHOD, which should be SET TO LOCK:promptSELECT profile_option_id , profile_option_valueFROM FND_PROFILE_OPTION_VALUESWHERE profile_option_id= (SELECT profile_option_idFROM FND_PROFILE_OPTIONSWHERE profile_option_name='CONC_PMON_METHOD');promptprompt IF THE PROFILE_OPTION_VALUE was't LOCK pleaseprompt RESET PMON TO LOCK BY running afimpmon.SQL script(THE manager should be down)prompt 1-AT UNIX command prompt:prompt 2-cd $FND_TOP/SQLprompt 3-LOG INTO SQLPLUS AS apps/prompt SQL> @afimpmon.SQLprompt prompt1:dualprompt prompt2:LOCK (LOCK MUST BE ALL UPPERCASE)prompt FOR Oracle Applications Release 11.5, WHEN you CHECK THE PMONprompt METHOD you may get NO ROWS selected which IS NORMAL,prompt because IN apps 11.5 THE Pmon METHOD IS hard coded TO LOCK ATprompt THE Operating SYSTEM LEVEL.promptprompt-------------------------------------------------------
prompt Step-17 Checking how many FNDLIBR processes are running:prompt -FOR Unix :FROM unix command prompt $ ps -ef grep -i fndlibrprompt IF you have ANY FNDLIBR processes running,please KILL them BEFOREprompt starting OR shuting down THE internal managerpromptpromptprompt -FOR NT, THROUGH TASK Manager, CHECK THE entries UNDER THE Processes tab FOR FNDLIBR.exe processes.prompt IF there are ANY, Highlight AND click [END Process] button TO KILL processesprompt----------------------------------------------------------prompt Step-18 Checking how many "FND_%"invalid objects:SELECT SUBSTR(owner,1, 12) owner, SUBSTR(object_type,1,12) TYPE,SUBSTR(status,1,8) status, SUBSTR(object_name, 1, 25) NAMEFROM dba_objectsWHERE object_name LIKE 'FND_%'AND status='INVALID';prompt IF you have ANY invalied objects please see note#113947.1 via Metalinkprompt--------------------------------------------------------------prompt Step-19-How TO find THE PID IN THE O/S FOR request_id:prompt IF you DO NOT LIKE TO CHECK this enter ANY NUMBER THEN click Enter TO EXITSELECT r.request_id, p.os_process_idFROM FND_CONCURRENT_REQUESTS r,FND_CONCURRENT_PROCESSES pWHERE r.controlling_manager = p.concurrent_process_idAND request_id=&request_id;promptprompt Please upload THE "ccm.lst" output TO Support, Thanks.prompt
Script For Concurrent Manager
spool ccm.lst
prompt Step 1 Checking how many rows in FND_CONCURRENT_REQUEST.
select count(*) from fnd_concurrent_requests;prompt-----------------------------------------Output COUNT(*) 21845
prompt Step 2 Checking how many rows in FND_CONCURRENT_PROCESSES table.
select count(*) from fnd_concurrent_processes;prompt-----------------------------------------------COUNT(*)213
prompt Step 3 Checking sys.dual table which should have one and only one row.select count(*) from sys.dual;
prompt If you have more than one row in sys.dual, please delete it
prompt sql> delete rownum from SYS.DUAL;Prompt rownum= the row number to deletepromptpromptprompt---------------------------------------------
prompt Step 4 Checking fnd_dual. There must be at lest one row:
select count(*) from fnd_dual;
prompt If there are no record selected,prompt Update fnd_dual table to have at lest one record
prompt----------------------------------------------
prompt Step 5 Checking the Internal Manager queue name "FNDICM" which should be=1
select concurrent_queue_id from fnd_concurrent_queueswhere concurrent_queue_name='FNDICM';
prompt----------------------------------------------
prompt Step 6 Checking for Active processes under the Internal Manager queueprompt in fnd_concurrent_proceses table:prompt
select a.concurrent_queue_name, substr(b.os_process_id,0,10) "OS Proc", b.oracle_process_id "Oracle ID", b.process_status_codefrom fnd_concurrent_queues a, fnd_concurrent_processes bwhere a.concurrent_queue_id=b.concurrent_queue_idand a.concurrent_queue_name='FNDICM'and b.process_status_code='A'order by b.process_status_code;
prompt If any rows found with process_status_code with value = 'A' (= Active)prompt The internal Manager will not start up ,so to avoide this issueprompt update these rows to have process_status_code value ='K'(terminated)promptprompt Output CONCURRENT_QUEUE_NAME OS Proc Oracle ID PROCESS_STATUS_CODE FNDICM 14234 43 A
-----------------------------------------prompt Step 7 Checking for Active processes under the Standard Manager queueprompt in fnd_concurrent_proceses table:prompt
select a.concurrent_queue_name, substr(b.os_process_id,0,10) "OS Proc", b.oracle_process_id "Oracle ID", b.process_status_codefrom fnd_concurrent_queues a
, fnd_concurrent_processes bwhere a.concurrent_queue_id=b.concurrent_queue_idand a.concurrent_queue_name='STANDARD'and b.process_status_code='A'order by b.process_status_code;
prompt If any rows found with process_status_code with value = 'A' (= Active)prompt The internal Manager will not start up ,so to avoide this issueprompt update these rows to have process_status_code value ='K'(terminated)promptprompt CONCURRENT_QUEUE_NAME OS Proc Oracle ID PROCESS_STATUS_CODE1 STANDARD 839 21 A2 STANDARD 842 35 A3 STANDARD 845 38 A4 STANDARD 848 67 A5 STANDARD 849 22 A6 STANDARD 850 65 A7 STANDARD 853 36 A8 STANDARD 854 57 A9 STANDARD 855 41 A10 STANDARD 862 24 A------------------------------------------prompt Step 8 Checking for Active processes under the Conflict Manager queueprompt in fnd_concurrent_proceses table:prompt
select a.concurrent_queue_name, substr(b.os_process_id,0,10) "OS Proc", b.oracle_process_id "Oracle ID", b.process_status_codefrom fnd_concurrent_queues a, fnd_concurrent_processes bwhere a.concurrent_queue_id=b.concurrent_queue_idand a.concurrent_queue_name='FNDCRM'and b.process_status_code='A'order by b.process_status_code;
prompt If any rows found with process_status_code with value = 'A' (= Active)prompt The internal Manager will not start up ,so to avoide this issueprompt update these rows to have process_status_code value ='K'(terminated)prompt
prompt---------------------------------------------------prompt Step 9 Checking Actual and Target Processes for Internal Manager:
select MAX_PROCESSES,RUNNING_PROCESSESfrom FND_CONCURRENT_QUEUESwhere CONCURRENT_QUEUE_NAME='FNDICM';
prompt If the MAX_PROCESSES=RUNNING_PROCESSES that means the manager is UP.promptprompt--------------------------------------------------------
prompt Step 10 Checking Actual and Target Processes for the Standard Manager:
select MAX_PROCESSES,RUNNING_PROCESSESfrom FND_CONCURRENT_QUEUESwhere CONCURRENT_QUEUE_NAME='STANDARD';
prompt If the MAX_PROCESSES=RUNNING_PROCESSES that means the manager is UP.promptprompt---------------------------------------------------------prompt Step 11 Checking Actual and Target Processes for Conflict Resolution Manager:
select MAX_PROCESSES,RUNNING_PROCESSESfrom FND_CONCURRENT_QUEUESwhere CONCURRENT_QUEUE_NAME='FNDCRM';
prompt If the MAX_PROCESSES=RUNNING_PROCESSES that means the manager is UP.promptprompt---------------------------------------------------------
Prompt Step 12 Checking if the control_code set to 'N':
select control_code from fnd_concurrent_queueswhere control_code='N'; promptprompt If any rows selected, please update the table fnd_concurrent_queues:prompt Update fnd_concurrent_queues set control_code = nullprompt where control_code ='N';
PROMPT Update fnd_concurrent_queues set target_node = null;PROMPT commit;promptprompt--------------------------------
PROMPT Step 13 Checking terminated processes:PROMPTselect count (*) from fnd_concurrent_requestswhere status_code='T';promptprompt If you have terminated processes run the following sql statement:promptprompt SQL> Update fnd_concurrent_requestsprompt set status_code = 'E', phase_code = 'C'prompt where status_code = 'T';prompt------------------------------------------
prompt Step 14 Checking pending requests:
select count(*) from fnd_concurrent_requestswhere status_code='P';prompt If any rows selected please run the following sql statement:
prompt SQL> Update fnd_concurrent_requestsprompt set status_code = 'E', phase_code = 'C'prompt where status_code = 'P';prompt------------------------------------------------------prompt Step 15 Checking Running processes:promptselect count (*) from fnd_concurrent_requestswhere status_code='R';promptprompt If you have Running processes run the following sql statementprompt SQL> Update fnd_concurrent_requestsprompt set status_code = 'E', phase_code = 'C'prompt where status_code = 'R';prompt------------------------------------------
prompt Step 16 Checking the PMON method, which should be set to LOCK:promptselect profile_option_id , profile_option_valuefrom FND_PROFILE_OPTION_VALUESwhere profile_option_id= (select profile_option_idfrom FND_PROFILE_OPTIONSwhere profile_option_name='CONC_PMON_METHOD');promptprompt If the PROFILE_OPTION_VALUE was't LOCK pleaseprompt Reset PMON to LOCK by running afimpmon.sql script(The manager should be down)
prompt 1-At UNIX command prompt:
prompt 2-cd $FND_TOP/sql
prompt 3-Log into SQLPLUS as apps/
prompt SQL> @afimpmon.sqlprompt prompt1:dualprompt prompt2:LOCK (LOCK MUST BE ALL UPPERCASE)
prompt For Oracle Applications Release 11.5, when you check the PMONprompt Method you may get no rows selected which is normal,prompt because in apps 11.5 the Pmon Method is hard coded to Lock atprompt the Operating System level.promptprompt-------------------------------------------------------
prompt Step-17 Checking how many FNDLIBR processes are running:prompt -For Unix :From unix command prompt $ ps -ef grep -i fndlibrprompt If you have any FNDLIBR processes running,please kill them beforeprompt starting or shuting down the internal managerpromptpromptprompt -For NT, through Task Manager, check the entries under the Processes tabfor FNDLIBR.exe processes.prompt If there are any, Highlight and click [End Process] button to kill processes
prompt----------------------------------------------------------
prompt Step-18 Checking how many "FND_%"invalid objects:
select substr(owner,1, 12) owner, substr(object_type,1,12) type,substr(status,1,8) status, substr(object_name, 1, 25) namefrom dba_objectswhere object_name like 'FND_%'and status='INVALID';
prompt If you have any invalied objects please see note#113947.1 via Metalink
prompt--------------------------------------------------------------
prompt Step-19-How to find the PID in the O/S for request_id:prompt If you do not like to check this enter any number then click Enter to Exit
select r.request_id, p.os_process_idfrom FND_CONCURRENT_REQUESTS r,FND_CONCURRENT_PROCESSES pwhere r.controlling_manager = p.concurrent_process_idand request_id=&request_id;
promptprompt Please upload the "ccm.lst" output to Support, Thanks.promptspool off
Comments
Activity for this knol
SELECT MAX_PROCESSES,RUNNING_PROCESSESFROM FND_CONCURRENT_QUEUESWHERE CONCURRENT_QUEUE_NAME='STANDARD';
SELECT COUNT (*) FROM fnd_concurrent_requestsWHERE status_code='R';
SELECT MAX_PROCESSES,RUNNING_PROCESSESFROM FND_CONCURRENT_QUEUESWHERE CONCURRENT_QUEUE_NAME='FNDCRM';
SELECT MAX_PROCESSES,RUNNING_PROCESSESFROM FND_CONCURRENT_QUEUES
WHERE CONCURRENT_QUEUE_NAME='FNDICM';