eBS R12.1.3 switchover to standby


This note is about a switchover or failover of an eBS 12.1.3/11gR2 environment, with both databases. running on OCI Classic Database Cloud Service.

This note is written in the context of an eBS 12.1.3/11gR2 standby setup as described in this master note.

It is assumed that

  • The primary db is called vis121p
  • The secondary db is called vis121s
  • The environment is supposed to have been configured, both the database and oracle_home, and the apps tier, for this switch to happen.

#1 Check first that the DG configuration is complete

DGMGRL> show configuration

Configuration - dg_vis121

Protection Mode: MaxPerformance
 Databases:
 vis121p - Primary database
 vis121s - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

#2 Check that the database is ready for a switchover

SQL> SELECT switchover_status
     FROM   v$database
     /
----------
TO STANDBY

#3 Perform the switchover to the secondary using the broker

DGMGRL> switchover to vis121s

Performing switchover NOW, please wait...
Operation requires a connection to instance "vis121" on database "vis121s"
Connecting to instance "vis121"...
Connected.
New primary database "vis121s" is opening...
Operation requires startup of instance "vis121" on database "vis121p"
Starting instance "vis121"...
ORACLE instance started.
Database mounted.
Database opened.
Switchover succeeded, new primary is "vis121s"

#4 Check thre configuratoin after the switchover

DGMGRL> show configuration

Configuration - dg_vis121

Protection Mode: MaxPerformance
 Databases:
 vis121s - Primary database
 vis121p - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

#5 Cleanup the autoconfig configuration

SQL> exec fnd_conc_clone.setup_clean ;

#6 Run autoconfig for the new (secondary) db tier

cd $ORACLE_HOME/appsutil/scripts/vis121_vis121s

./adautocfg.sh

Enter the APPS user password:
The log file for this session is located at: 
...
Configuring templates from ORACLE_HOME ...
AutoConfig completed successfully.

#7 Run autoconfig for the new (secondary) apps tier

cd $INST_TOP/admin/scripts
adautocfg.sh
Enter the APPS user password:
. . .
Attempting upload of Context file and templates to database...COMPLETED
Configuring templates from all of the product tops... 
Configuring AD_TOP........COMPLETED 
Configuring FND_TOP.......COMPLETED
. . .
Configuring IGC_TOP.......COMPLETED
AutoConfig completed successfully

#8 Rsync the log and out files

For example:

echo "Synching log"
/usr/bin/rsync -vat --stats --checksum --log-file=$HOME/rsync.log --progress vis121p_app01:/u01/install/APPS/inst/apps/vis121_vis121p-app01/logs/appl/conc/log/ /u01/install/APPS/inst/apps/vis121_vis121p_app01/logs/appl/conc/log

echo "Synching out"
/usr/bin/rsync -vat --stats --checksum --log-file=$HOME/rsync.log --progress vis121p_app01:/u01/install/APPS/inst/apps/vis121_vis121p-app01/logs/appl/conc/out/ /u01/install/APPS/inst/apps/vis121_vis121p_app01/logs/appl/conc/out

#9 Update the concurrent nodes from requests executed from the primary nodes.

For example:

UPDATE fnd_concurrent_requests
SET    logfile_node_name = 'VIS121SAPP01'
      ,outfile_node_name = 'VIS121SAPP01'
      ,logfile_name      = REPLACE(logfile_name ,'vis121_vis121sapp01/'
                                                ,'vis121_vis121papp01/')
      ,outfile_name      = REPLACE(outfile_name ,'vis121_vis121sapp01/'
                                                ,'vis121_vis121papp01/')
WHERE  logfile_node_name = 'VIS121PAPP01'
  AND  outfile_node_name = 'VIS121PAPP01'
/
 
UPDATE fnd_conc_req_outputs 
SET    file_node_name    = 'VIS121SAPP01'
WHERE  file_node_name    = 'VIS121PAPP01'
/

#10 Start the services

adstrtal.sh apps/xxxx