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;
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.concurrent_queue_id
and a.concurrent_queue_name='FNDICM'
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.concurrent_queue_id
and a.concurrent_queue_name='STANDARD'
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.concurrent_queue_id
and a.concurrent_queue_name='FNDCRM'
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_PROCESSES from FND_CONCURRENT_QUEUES where CONCURRENT_QUEUE_NAME='FNDICM';
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_PROCESSES
from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME='STANDARD';
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_PROCESSES
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_PMON_METHOD');
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]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
No comments:
Post a Comment