16
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 it prompt SQL> DELETE ROWNUM FROM SYS.DUAL; Prompt ROWNUM= THE ROW NUMBER TO DELETE prompt prompt prompt --------------------------------------------- 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_queues WHERE concurrent_queue_name='FNDICM'; prompt ---------------------------------------------- prompt Step 6 Checking FOR Active processes UNDER THE Internal Manager QUEUE prompt IN fnd_concurrent_proceses TABLE: prompt

Concurrent Manager SQL

Embed Size (px)

Citation preview

Page 1: Concurrent Manager SQL

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

Page 2: Concurrent Manager SQL

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';

Page 3: Concurrent Manager SQL

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

Page 4: Concurrent Manager SQL

------------------------------------------

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-------------------------------------------------------

Page 5: Concurrent Manager SQL

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

Page 6: Concurrent Manager SQL

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

Page 7: Concurrent Manager SQL

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

Page 8: Concurrent Manager SQL

, 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

Page 9: Concurrent Manager SQL

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';

Page 10: Concurrent Manager SQL

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------------------------------------------

Page 11: Concurrent Manager SQL

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----------------------------------------------------------

Page 12: Concurrent Manager SQL

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';

Page 13: Concurrent Manager SQL

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';