You are on page 1of 7

Pleasefollow the below steps

1)In DB, run these two commands as sysdba:


a. alter system set “_lm_global_posts”=TRUE scope=spfile sid=’*’;
b. alter system set “_immediate_commit_propagation”=TRUE scope=spfile sid=’*’;
2) For each internal node, set autoconfig parameter APPLDCP to ON.
3) For each internal node, verify autoconfig parameters APPLCSF and APPLPTMP match. (typically
APPLPTMP will not be correct on secondary nodes…make it match the primary node).
4) Shut down application tier services and run autoconfig to implement changes.
5) While application is down, bounce the DB for initialization parameters to take effect.
a. srvctl stop database –d
b. srvctl start database –d
6) Log into SQL*Plus and confirm parameters have been set:
a. show parameter lm
b. show parameter immediate
7) On application tier, set your environment again and make sure $APPLDCP environment variable
is set:
a. echo $APPLDCP (it should return ON…this variable is turned on after setting APPLDCP
autoconfig parameter to ON)
8) If $APPLDCP is set to ON, start the environment. This will trigger the concurrent managers to
start in PCP mode.
9) Don’t forget to check $APPLDCP on the other internal node before starting the environment there.
If it’s not
set on the second node after resetting your environment, then you may have forgotten to run
autoconfig to enable that parameter. But, if it is set, then also start services on the other internal
node.
10) Log in to the application and make sure the following profiles are set:
a. Concurrent: PCP Instance Check set to ON at site level
b. Concurrent: TM Transport Type set to QUEUE at site level

11) Navigate to Concurrent|Manager|Define and make the following changes:

Ctrl-f11

https://community.oracle.com/thread/1057119
Work shift:

a. Query for “Internal Monitor” and you’ll see there is an internal monitor for each node (there is a
node
   mentioned in the name – i.e. “Internal Monitor: Mode2”). Make sure the primary node field
matches the node in
   the name. Click “Work Shifts” button and select the Standard work shift and set Processes to 1.
Leave Secondary node field blank.
b. Next query the “Internal Concurrent Manager”. Set both primary and secondary nodes and make
sure the    Standard Work Shift is in place with 1 process.

c. Next go through the rest of the enabled managers and set both primary and secondary nodes
and make sure
Standard Work Shift is in place with 1 process.
12) Navigate to Concurrent|Manager|Administer and perform the following:
a. Find the “Internal Monitor: ” and click the “Activate” button.
b. Find the “Internal Monitor: ” and click the “Activate” button.
c. Click “Refresh” button and wait for these two managers to start with 1 process each.
13) Bounce concurrent managers on all nodes for changes to take effect.
14) You should see several FND* processes on Node 1. And you should see FNDSM and
FNDIMON started on node 2.

1)    In DB, run these two commands as sysdba:


a.    alter system set "_lm_global_posts"=TRUE scope=spfile sid='*';
b.    alter system set "_immediate_commit_propagation"=TRUE scope=spfile sid='*';

col ParameterName for a30


col sessval for a30
col instval for a30
SELECT pi.ksppinm ParameterName, pcv.ksppstvl SessVal, psv.ksppstvl InstVal
FROM x$ksppi pi, x$ksppcv pcv, x$ksppsv psv
WHERE pi.indx = pcv.indx AND pi.indx = psv.indx AND pi.ksppinm LIKE
'_immediate_commit_propagation'

PARAMETERNAME                  SESSVAL                        INSTVAL


------------------------------ ------------------------------ ------------------------------
_lm_global_posts               TRUE                           TRUE
_immediate_commit_propagation  TRUE                           TRUE

2)    For each internal node, set autoconfig parameter APPLDCP to ON.

FROM
[applmgr@cvm-928 clone]$ grep -i APPLDCP $CONTEXT_FILE
 OFF

[applmgr@cvm-929 ~]$ grep -i APPLDCP $CONTEXT_FILE


 OFF

TO
[applmgr@cvm-929 ~]$ grep -i APPLDCP $CONTEXT_FILE
         ON

[applmgr@cvm-928 clone]$ grep -i APPLDCP $CONTEXT_FILE


         ON

3)    For each internal node, verify autoconfig parameters APPLCSF and APPLPTMP match.
(typically APPLPTMP will not be correct on secondary nodes…make it match the primary node).

FROM

[applmgr@cvm-928 clone]$ grep -i APPLCSF $CONTEXT_FILE


         /ERPAPP/SIT/fs_ne/inst/SIT_cvm-928/logs/appl/conc
[applmgr@cvm-928 clone]$ grep -i APPLPTMP $CONTEXT_FILE
         /ERPAPP/SIT/inst/fs1/inst/apps/SIT_cvm-928/appltmp

[applmgr@cvm-929 ~]$ grep -i APPLCSF $CONTEXT_FILE


         /ERPAPP/SIT/fs_ne/inst/SIT_cvm-929/logs/appl/conc
[applmgr@cvm-929 ~]$ grep -i APPLPTMP $CONTEXT_FILE
         /ERPAPP/SIT/inst/fs1/inst/apps/SIT_cvm-928/appltmp

TO

[applmgr@cvm-928 clone]$ grep -i APPLCSF $CONTEXT_FILE


         /ERPAPP/SIT/fs_ne/inst/SIT_cvm-928/logs/appl/conc
[applmgr@cvm-928 clone]$ grep -i APPLPTMP $CONTEXT_FILE
         /ERPAPP/SIT/inst/fs1/inst/apps/SIT_cvm-928/appltmp

[applmgr@cvm-929 ~]$ grep -i APPLCSF $CONTEXT_FILE


         /ERPAPP/SIT/fs_ne/inst/SIT_cvm-929/logs/appl/conc
[applmgr@cvm-929 ~]$ grep -i APPLPTMP $CONTEXT_FILE
         /ERPAPP/SIT/inst/fs1/inst/apps/SIT_cvm-929/appltmp

4)    Shut down application tier services and run autoconfig to implement changes.

After autoconfig---

[applmgr@cvm-928 admin]$ grep -i APPLCSF $CONTEXT_FILE


         /ERPAPP/SIT/fs_ne/inst/SIT_cvm-928/logs/appl/conc
[applmgr@cvm-928 admin]$ grep -i APPLPTMP $CONTEXT_FILE
         /ERPAPP/SIT/inst/fs1/inst/apps/SIT_cvm-928/appltmp
[applmgr@cvm-928 admin]$  grep -i APPLDCP $CONTEXT_FILE
         ON
[applmgr@cvm-929 scripts]$ grep -i APPLCSF $CONTEXT_FILE
         /ERPAPP/SIT/fs_ne/inst/SIT_cvm-929/logs/appl/conc
[applmgr@cvm-929 scripts]$ grep -i APPLPTMP $CONTEXT_FILE
         /ERPAPP/SIT/inst/fs1/inst/apps/SIT_cvm-929/appltmp
[applmgr@cvm-929 scripts]$ grep -i APPLDCP $CONTEXT_FILE
         ON

5)    While application is down, bounce the DB for initialization parameters to take effect.
6)    Log into SQL*Plus and confirm parameters have been set:

NAME                                 TYPE        VALUE


------------------------------------ ----------- ------------------------------
_lm_global_posts                     boolean     TRUE
SQL> show parameter immediate

NAME                                 TYPE        VALUE


------------------------------------ ----------- ------------------------------
_immediate_commit_propagation        boolean     TRUE

7)    On application tier, set your environment again and make sure $APPLDCP environment
variable is set:
a.    echo $APPLDCP (it should return ON…this variable is turned on after setting APPLDCP
autoconfig parameter to ON)

8)    If $APPLDCP is set to ON, start the environment.  This will trigger the concurrent managers to
start in PCP mode.

9)    Don’t forget to check $APPLDCP on the other internal node before starting the environment
there.
If it’s not set on the second node after resetting your environment, then you may have forgotten to
run autoconfig to enable that parameter.
But, if it is set, then also start services on the other internal node.

***********************************************************************************************

1. Assume that you have your Application tier is shared across all internal middle tiers
2. Assume you have two CM nodes
3. Stop the Concurrent Managers on both the CM nodes
4. Apply patch 9074947 on application tier
5. set APPLDCP value ON in the context file of both the CM nodes.
6. Run autoconfig on Both cm nodes
7. Verify tnsnames.ora on both CM nodes has FNDFS entries of both the nodes
8. Ensure Internal Monitors on both CM nodes is defined properly and have workshifts assigned to
them
9. Make sure 2 Internal monitor Managers of both the nodes is activated. If not activate from
Concurrent -> Manager -> Administrator
10. Use the following query to find out your concurrent managers details.

SELECT distinct C.USER_CONCURRENT_QUEUE_NAME, C.MAX_PROCESSES,


C.RUNNING_PROCESSES, C.TARGET_PROCESSES, C.NODE_NAME, C.NODE_NAME2
FROM APPLSYS.FND_CONCURRENT_QUEUE_CONTENT A,
APPLSYS.FND_CONCURRENT_PROGRAMS B, APPS.FND_CONCURRENT_QUEUES_VL C
WHERE type_id = b.concurrent_program_id and c.concurrent_queue_id = a.concurrent_queue_id;

10. Now Define Primary and secondary nodes for each concurrent manager from Concurrent ->
Manager -> Define as per your configuration.
11. Bring up Concurrent Managers on both the CM nodes.
12. Test the concurrent managers by submitting two uniqe concurrent programs that should be
running on managers on both the nodes.

Failover Testing

Test Case #1

1. Bring down Apps Listener on CM node 2 using kill -9


2. Kill all FNDLIBR process on CM node 2 using kill -9
3. Start Apps listener on CM node 2 after 5 mins.
4. Monitor CM2, you should see all the managers on CM2 should come up automatially

Test Case #2

1. Bring down apps listener on CM node2 using kill -9.


2. Start the managers on CM1, you should see managers of CM2 will start on CM node 1.
3. Bring up Apps listenr on CM2.
4. You should see, Managers of CM2 should fall back to CM2 from CM1.

Test Case #3

1. Bring down host of CM node 2. It should be shutdown.


2. You should see all the managers of CM2 should be failed over to CM1
3. Bring up host of CM node2.
4. Bring up apps listener on cm node2.
5. You should see all the managers of CM2 should fall back to CM2 fro CM1.

You might also like