Applying Patch on EBS Environment using ADOP and Creating a Restore Point for Database if patch fails in Cutover Phase
Introduction:
As an Apps DBA, applying patches to an E-Business Suite (EBS) environment is a critical task. To ensure a smooth patching process, it is essential to take precautions such as creating a restore point before the cutover phase. In this blog post, we will explore the steps involved in applying a patch using ADOP (Application DBA Online Patching) and creating a restore point for database flashback in case the cutover phase fails.
1. Enabling Flashback in the Database Tier:
Before creating a restore point, it is necessary to enable flashback in the database tier. Ensure that the database is in archivelog mode, and set the flashback retention target to a sufficient value using the following SQL command:
SQL> alter system set db_flashback_retention_target=120; — Set retention in minutes
SQL> alter database flashback on; — Activate flashback
2. Creating a Restore Point:
To create a restore point just before the cutover phase, follow these steps:
a. Switch the current redo log file:
SQL> alter system switch logfile;
b. Create the restore point:
SQL> create restore point BEFORE_CUTOVER guarantee flashback database;
c. Switch the current redo log file again:
SQL> alter system switch logfile;
3. Restoring the Database to the Restore Point:
If an issue arises during the cutover phase and you need to restore the database to the restore point, follow these steps:
a. Shutdown the database:
SQL> shutdown immediate;
b. Startup the database in mount mode:
SQL> startup mount;
c. Issue the flashback command to restore the database to the restore point:
SQL> flashback database to restore point BEFORE_CUTOVER;
d. Open the database in read-only mode and verify the restoration:
SQL> alter database open read only;
e. Shutdown the database:
SQL>shutdown immediate;
f. Startup the database with the openresetlogs option:
SQL> startup mount;
SQL> alter database open resetlogs;
4. Disabling Flashback and Dropping the Restore Point:
Once the database is restored, you can disable flashback and drop the restore point using the following commands:
SQL> alter database flashback off;
SQL> drop restore point BEFORE_CUTOVER;
SQL> alter system set db_recovery_file_dest=”; — Optional: Reset recovery file destination
SQL> select FLASHBACK_ON from v$database; — Verify flashback is disabled
5. Restoring the Application File System:
In case the cutover phase fails and you need to restore the application file system, follow these steps:
Check the cutover logs located at $NE_BASE/EBSapps/log/adop/<current_session_id>/cutover_<timestamp>/ for your current session.
Case 1: If the log messages indicate that cutover failed before the file systems were switched:
Run adstpall.sh to stop running services.
Restart the services using adstrtal.sh.
Abort the patch cycle and perform a cleanup.
Case 2: If the log messages indicate that cutover failed after the file systems were switched:
Shutdown the application services.
Switch the file systems using the txkADOPCutOverPhaseCtrlScript.pl script:
perl $AD_TOP/patch/115/bin/txkADOPCutOverPhaseCtrlScript.pl
-action=ctxupdate
-contextfile=<full path to new run context file>
-patchcontextfile=<full path to new patch file system context file>