Steps we followed to enable PCP on Oracle EBS R12.1.3
In Oracle EBusiness Suite, we don’t need to separately activate PCP. All we need to do is allocate our preference of primary or secondary node to our concurrent managers (Responsibility = System Administrator, Navigate –> Concurrent: Manager: Define)
Step 1. Find Concurrent Manager Queue
col Manager Short_Name format a55
col Manager_Details format a55
col Node format a20
col Primary format a55
col Secondary format a55
select
–fcq.application_id “Application Id”,
fcq.concurrent_queue_name “Manager Short_Name”,
–fcq.user_concurrent_queue_name “Manager_Details”,
–fa.application_short_name,
fcq.target_node “Node”,
fcq.max_processes “Target”,
fcq.node_name “Primary”, fcq.node_name2 “Secondary”
–fcq.cache_size “Cache Size”,
–fcp.concurrent_processor_name “Program Library”,
–sleep_seconds
from apps.fnd_concurrent_queues_vl fcq, apps.fnd_application fa, apps.fnd_concurrent_processors fcp
where fcq.application_id = fa.application_id
and fcq.processor_application_id = fcp.application_id
and fcq.concurrent_processor_id = fcp.concurrent_processor_id and fcq.enabled_flag=’Y’;
— This returned 48 rows
Step 2> Out of 48, 18 managers were in deactivated state. So, we skipped the deactivated ones and decided to re-distribute (48-18 =) 30 concurrent managers between APPHOST1 & APPHOST2. So here’s revised query to find conc. managers that we need to spread across the concurrent tiers.
col Manager Short_Name format a55
col Manager_Details format a55
col Node format a20
select
–fcq.application_id “Application Id”,
fcq.concurrent_queue_name “Manager Short_Name”,
fcq.user_concurrent_queue_name “Manager_Details”,
–fa.application_short_name,
fcq.target_node “Node”,
fcq.max_processes “Target”,
fcq.node_name “Primary”, fcq.node_name2 “Secondary”
–fcq.cache_size “Cache Size”,
–fcp.concurrent_processor_name “Program Library”,
–sleep_seconds
from apps.fnd_concurrent_queues_vl fcq, apps.fnd_application fa, apps.fnd_concurrent_processors fcp
where fcq.application_id = fa.application_id
and fcq.processor_application_id = fcp.application_id
and fcq.concurrent_processor_id = fcp.concurrent_processor_id and fcq.enabled_flag=’Y’
and fcq.target_node is NOT NULL;
— 30 rows selected.
Step 3> Now we decided to move the custom programs (starting with XEXP%) & anything with XDP% to 2nd CM node
Step 4> Steps to update primary & secondary nodes:
a. Stop CM
b. Take backup of fnd_concurrent_queues
SQL> create apps.fnd_concurrent_queues_bkup as select * from apps.fnd_concurrent_queues;
SQL> create table apps.fnd_concurrent_queues_bkup as select * from apps.fnd_concurrent_queues;
SQL> select count(*) from apps.fnd_concurrent_queues; — 52 rows
SQL> select count(*) from apps.fnd_concurrent_queues_bkup; — 52 rows
c. Run following updates:
SQL> update apps.fnd_concurrent_queues set target_node=’APPHOST2′, node_name = ‘APPHOST2’,node_name2 = ‘APPHOST1’ where CONCURRENT_QUEUE_NAME in
(
–‘FNDIM_APPHOST2’,
–‘OAMGCS_APPHOST2’,
–‘FNDSM_APPHOST2’,
–‘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_SMIT_SVC’,
–‘XDP_Q_TIMER_SVC’,
–‘XDP_Q_WI_SVC’,
‘XDP_MANAGER’,
‘XEXP_MARPLE’,
‘XEXP_RECEIPT_REG’,
‘XEXP-XEXPXX_ARAP_BALANCING’,
‘XEXP_Process_Lockboxes’);
SQL> update apps.fnd_concurrent_queues set target_node=’APPHOST1′, node_name = ‘APPHOST1’,node_name2 = ‘APPHOST2’ where CONCURRENT_QUEUE_NAME in
(
–‘FNDSM_APPHOST1
–‘FNDIM_APPHOST1
–‘OAMGCS_APPHOST1
–‘WMSTAMGR’,
–‘WFWSSVC’,
‘AMSDMIN’,
–‘FFTM’,
‘FNDCRM’,
‘FNDICM’,
‘FNDSCH’,
‘FNDTMTST’,
‘STANDARD’,
‘PODAMGR’,
‘RCVOLTM’,
‘PASMGR’,
‘WFMGSMS’,
‘INVMGR’,
‘INVTMRPM’,
‘MRPMGR’,
‘CRPINQMGR’,
‘WFMGSMD’,
‘WFALSNRSVC’,
‘WFMLRSVC’,
–‘FTE_TXN_MANAGER’,
‘Debug_Service’,
‘C_AQCT_SVC’,
‘IEU_SH_CS’,
‘IEU_WL_CS’,
‘OKCCONCMGR’,
‘IEXCONMGR’,
‘OAMCOLMGR’,
–‘DownloadProcessorNormalMode’,
–‘DownloadProcessorMigrationMode’,
‘FNDCPOPP’
);
d. commit;
e. start CM
Step 5. Check Concurrent Manager queue post PCP implementation
col Manager Short_Name format a55
col Manager_Details format a55
col Node format a20
col Primary format a55
col Secondary format a55
select
–fcq.application_id “Application Id”,
fcq.concurrent_queue_name “Manager Short_Name”,
–fcq.user_concurrent_queue_name “Manager_Details”,
–fa.application_short_name,
fcq.target_node “Node”,
fcq.max_processes “Target”,
fcq.node_name “Primary”, fcq.node_name2 “Secondary”
–fcq.cache_size “Cache Size”,
–fcp.concurrent_processor_name “Program Library”,
–sleep_seconds
from apps.fnd_concurrent_queues_vl fcq, apps.fnd_application fa, apps.fnd_concurrent_processors fcp
where fcq.application_id = fa.application_id
and fcq.processor_application_id = fcp.application_id
and fcq.concurrent_processor_id = fcp.concurrent_processor_id and fcq.enabled_flag=’Y’;