Diagnose Common Concurrent Manager Issues:
Step 1 : Checking how many rows in FND_CONCURRENT_REQUEST.
SQL> select count(*) from fnd_concurrent_requests;
SQL> select count(*) from fnd_concurrent_requests;
Step 2: Checking how many rows in FND_CONCURRENT_PROCESSES table.
SQL> select count(*) from fnd_concurrent_processes;
SQL> select count(*) from fnd_concurrent_processes;
Step 3: Checking sys.dual table which should have one and only one row. SQL> select count(*) from sys.dual;
Note: If you have more than one row in sys.dual, please delete it
sql> delete rownum from SYS.DUAL;
Step 4: Checking fnd_dual. There must be at lest one row:
Note : If there are no record selected,
SQL> Update fnd_dual table to have at lest one record
Step 5: Checking the Internal Manager queue name "FNDICM" which should be=1
SQL> select concurrent_queue_id from fnd_concurrent_queues where concurrent_queue_name='FNDICM';
SQL> select concurrent_queue_id from fnd_concurrent_queues where concurrent_queue_name='FNDICM'
Step 6: Checking for Active processes under the Internal Manager queue
SQL> select a.concurrent_queue_name
, substr(b.os_process_id,0,10) "OS Proc"
, b.oracle_process_id "Oracle ID"
, b.process_status_code
from fnd_concurrent_queues a
, fnd_concurrent_processes b
where a.concurrent_queue_id=b.concurrent_queue_id
and a.concurrent_queue_name='FNDICM'
and b.process_status_code='A'
order by b.process_status_code;
, substr(b.os_process_id,0,10) "OS Proc"
, b.oracle_process_id "Oracle ID"
, b.process_status_code
from fnd_concurrent_queues a
, fnd_concurrent_processes b
where a.concurrent_queue_id=b.
and a.concurrent_queue_name='
and b.process_status_code='A'
order by b.process_status_code;
Note:
If any rows found with process_status_code with value = 'A' (= Active)
The internal Manager will not start up ,so to avoide this issue
update these rows to have process_status_code value ='K'(terminated)
The internal Manager will not start up ,so to avoide this issue
update these rows to have process_status_code value ='K'(terminated)
Step 7: Checking for Active processes under the Standard Manager queue in fnd_concurrent_proceses table:
select a.concurrent_queue_name
, substr(b.os_process_id,0,10) "OS Proc"
, b.oracle_process_id "Oracle ID"
, b.process_status_code
from fnd_concurrent_queues a
, fnd_concurrent_processes b
where a.concurrent_queue_id=b.concurrent_queue_id
and a.concurrent_queue_name='STANDARD'
and b.process_status_code='A'
order by b.process_status_code;
, substr(b.os_process_id,0,10) "OS Proc"
, b.oracle_process_id "Oracle ID"
, b.process_status_code
from fnd_concurrent_queues a
, fnd_concurrent_processes b
where a.concurrent_queue_id=b.
and a.concurrent_queue_name='
and b.process_status_code='A'
order by b.process_status_code;
Note :
If any rows found with process_status_code with value = 'A' (= Active)
The internal Manager will not start up ,so to avoide this issue
update these rows to have process_status_code value ='K'(terminated)
The internal Manager will not start up ,so to avoide this issue
update these rows to have process_status_code value ='K'(terminated)
Step 8: Checking for Active processes under the Conflict Manager queue in fnd_concurrent_proceses table:
SQL> select a.concurrent_queue_name
, substr(b.os_process_id,0,10) "OS Proc"
, b.oracle_process_id "Oracle ID"
, b.process_status_code
from fnd_concurrent_queues a
, fnd_concurrent_processes b
where a.concurrent_queue_id=b.concurrent_queue_id
and a.concurrent_queue_name='FNDCRM'
and b.process_status_code='A'
order by b.process_status_code;
, substr(b.os_process_id,0,10) "OS Proc"
, b.oracle_process_id "Oracle ID"
, b.process_status_code
from fnd_concurrent_queues a
, fnd_concurrent_processes b
where a.concurrent_queue_id=b.
and a.concurrent_queue_name='
and b.process_status_code='A'
order by b.process_status_code;
Note : If any rows found with process_status_code with value = 'A' (= Active)
The internal Manager will not start up ,so to avoide this issue update these rows to have process_status_code value ='K'(terminated)
The internal Manager will not start up ,so to avoide this issue update these rows to have process_status_code value ='K'(terminated)
Step 9: Checking Actual and Target Processes for Internal Manager:
SQL > select MAX_PROCESSES,RUNNING_PROCESSES from FND_CONCURRENT_QUEUES where CONCURRENT_QUEUE_NAME='FNDICM';
SQL > select MAX_PROCESSES,RUNNING_
Note: If the MAX_PROCESSES=RUNNING_PROCESSES that means the manager is UP.
Step 10: Checking Actual and Target Processes for the Standard Manager:
SQL> select MAX_PROCESSES,RUNNING_PROCESSES
from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME='STANDARD';
SQL> select MAX_PROCESSES,RUNNING_
from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME='
Note: If the MAX_PROCESSES=RUNNING_PROCESSES that means the manager is UP .
Step 11: Checking Actual and Target Processes for Conflict Resolution Manager:
SQL> select MAX_PROCESSES,RUNNING_PROCESSES
from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME='FNDCRM';
SQL> select MAX_PROCESSES,RUNNING_
from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME='FNDCRM'
Note: If the MAX_PROCESSES=RUNNING_PROCESSES that means the manager is UP.
Step 12: Checking if the control_code set to 'N':
SQL> select control_code from fnd_concurrent_queues where control_code='N';
Note : If any rows selected, please update the table fnd_concurrent_queues:
SQL> Update fnd_concurrent_queues set control_code = null where control_code ='N';
SQL> Update fnd_concurrent_queues set target_node = null;
SQL> commit;
Step 13: Checking terminated processes:
SQL> select count (*) from fnd_concurrent_requests where status_code='T';
SQL> select count (*) from fnd_concurrent_requests where status_code='T';
Note : If you have terminated processes run the following sql statement:
SQL> Update fnd_concurrent_requests
set status_code = 'E', phase_code = 'C'
where status_code = 'T';
set status_code = 'E', phase_code = 'C'
where status_code = 'T';
Step 14: Checking pending requests:
SQL> select count(*) from fnd_concurrent_requests where status_code='P';
SQL> select count(*) from fnd_concurrent_requests where status_code='P';
Note : If any rows selected please run the following sql statement:
SQL> Update fnd_concurrent_requests
set status_code = 'E', phase_code = 'C'
where status_code = 'P';
set status_code = 'E', phase_code = 'C'
where status_code = 'P';
Step 15: Checking Running processes:
select count (*) from fnd_concurrent_requests
where status_code='R';
where status_code='R';
Note : If you have Running processes run the following sql statement
SQL> Update fnd_concurrent_requests
set status_code = 'E', phase_code = 'C'
where status_code = 'R';
set status_code = 'E', phase_code = 'C'
where status_code = 'R';
Step 16: Checking the PMON method, which should be set to LOCK:
SQL> select profile_option_id , profile_option_value
from FND_PROFILE_OPTION_VALUES
where profile_option_id= (select profile_option_id
from FND_PROFILE_OPTIONS
where profile_option_name='CONC_PMON_METHOD');
from FND_PROFILE_OPTION_VALUES
where profile_option_id= (select profile_option_id
from FND_PROFILE_OPTIONS
where profile_option_name='CONC_
Note : If the PROFILE_OPTION_VALUE was't LOCK please
Reset PMON to LOCK by running afimpmon.sql script(The manager should be down)
Reset PMON to LOCK by running afimpmon.sql script(The manager should be down)
-At UNIX command prompt:
cd $FND_TOP/sql
Log into SQLPLUS as apps/
QL> @afimpmon.sql
prompt1:dual
prompt2:LOCK (LOCK MUST BE ALL UPPERCASE)
prompt1:dual
prompt2:LOCK (LOCK MUST BE ALL UPPERCASE)
For Oracle Applications Release 11.5 and 12.0, when you check the PMON
Method you may get no rows selected which is normal,
Method you may get no rows selected which is normal,
Step 17: Checking how many FNDLIBR processes are running:
$ ps -ef |grep -i fndlibr
If you have any FNDLIBR processes running,please kill them before
starting or shuting down the internal manager
If you have any FNDLIBR processes running,please kill them before
starting or shuting down the internal manager
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) name
from dba_objects
where object_name like 'FND_%'
and status='INVALID';
substr(status,1,8) status, substr(object_name, 1, 25) name
from dba_objects
where object_name like 'FND_%'
and status='INVALID';
If you have any invalied objects please see Note 113947.1
Step 19: How to find the PID in the O/S for request_id:
select r.request_id, p.os_process_id
from FND_CONCURRENT_REQUESTS r,FND_CONCURRENT_PROCESSES p
where r.controlling_manager = p.concurrent_process_id
and request_id=&request_id;
from FND_CONCURRENT_REQUESTS r,FND_CONCURRENT_PROCESSES p
where r.controlling_manager = p.concurrent_process_id
and request_id=&request_id;
+++++++++++++++++++++++++++
Diagnose Common Concurrent Manager Issues [ID 171855.1]
SELECT responsibility_name RN
FROM fnd_request_groups frg,
fnd_request_group_units frgu,
fnd_concurrent_programs_vl fcpv,
fnd_responsibility_vl frv
WHERE frgu.request_unit_type = 'P'
AND (UPPER(fcpv.concurrent_program_name) = UPPER('&1')
OR
UPPER(fcpv.user_concurrent_program_name) = UPPER('&1'))
AND frgu.request_group_id = frg.request_group_id
AND frgu.request_unit_id = fcpv.concurrent_program_id
AND frv.request_group_id = frg.request_group_id
ORDER BY responsibility_name
/
SQL> &concurrent program name :
++++++++++++++++++++++++++
How to Re-create Concurrent Manager Views ID : 146786.1FNDLIBR "FND" "FNDCPBWV" apps/<passwd> "SYSADMIN" "System Administrator" "SYSADMIN"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Concurrent Processing (CP) / APPS Reporting Scripts [ID 213021.1]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comments
Post a Comment