0% found this document useful (0 votes)
132 views3 pages

DR Drill Procedures for Oracle Database

Uploaded by

cloudmasterram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Topics covered

  • Data Recovery,
  • Database Role,
  • Database Backup,
  • Database Integrity,
  • Database Configuration Paramet…,
  • Database Shutdown,
  • Restore Point,
  • SQL Commands,
  • Database Recovery Strategies,
  • Database Maintenance
0% found this document useful (0 votes)
132 views3 pages

DR Drill Procedures for Oracle Database

Uploaded by

cloudmasterram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Topics covered

  • Data Recovery,
  • Database Role,
  • Database Backup,
  • Database Integrity,
  • Database Configuration Paramet…,
  • Database Shutdown,
  • Restore Point,
  • SQL Commands,
  • Database Recovery Strategies,
  • Database Maintenance

DR DRILL

Enable Flash Back on DR

On STANDBY SERVER:
mkdir /d01/app/oracle/flash_back'
SQL> alter system set db_recovery_file_dest_size=20G;
SQL> alter system set db_recovery_file_dest='/d01/app/oracle/flash_back';
SQL> alter system set db_flashback_retention_target=4000;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

SQL> alter database flashback on;


SQL> select log_mode,flashback_on from v$database;
SQL> alter database recover managed standby database disconnect;

Check log Gap on DR


SELECT [Link]# "Thread", [Link]# "Last Sequence Received", [Link]# "Last Sequence Applied",
([Link]# - [Link]#) "Difference" FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT
THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT
THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE [Link]# = [Link]#
ORDER BY 1;

Switch logs on Primary


LOGIN to PRIMARY DB and Switch the Log Files so that the Last transaction can be synched to DR:

SQL> alter system switch logfile;


System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.

Check log Gap on DR


SELECT [Link]# "Thread", [Link]# "Last Sequence Received", [Link]# "Last Sequence Applied",
([Link]# - [Link]#) "Difference" FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT
THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT
THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE [Link]# = [Link]#
ORDER BY 1;
Stop Log shipping

On Primary:
PRIMARY> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER;

On Standby:
STANDBY> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER;

Stop MRP on Standby and shutdown

Stopping MRP Process On STANDBY DATABASE ( DR DATABASE)

STAND BY:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

Stop the Stand by DATABASE:


SQL> shut immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL>

Create a restore Point on Standby

SQL> startup mount;

SQL> CREATE RESTORE POINT RESTORE_PST_2021 GUARANTEE FLASHBACK DATABASE;

SQL> select name,scn from v$restore_point;


SQL> SELECT scn, database_incarnation#, guarantee_flashback_database, storage_size, time, name FROM
gv$restore_point;

Activate standby (convert into primary)


SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;

SQL> ALTER DATABASE OPEN;


ERROR: While Opening the database , got the error as undo tablespace is of Wrong Type
Solution: Change undo managemet Parameter from AUTo to MANUAL and Start the database:

SQL> select name , open_mode,database_role from v$database;


After testing make it Standby Again.

Making Standby
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> FLASHBACK DATABASE TO RESTORE POINT RESTORE_PST_2021;
SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;

Enable log shipping


PRIMARY> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

STANDBY> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

Start MRP on standby


SQL> alter database recover managed standby database disconnect from session;

Again check log gap by changing log sequence on PRIMARY


PRIMARY> ALTER SYSTEM SWITCH LOGFILE;
PRIMARY> ALTER SYSTEM SWITCH LOGFILE;
PRIMARY> ALTER SYSTEM SWITCH LOGFILE;

Log gap on standby


SELECT [Link]# "Thread", [Link]# "Last Sequence Received", [Link]# "Last Sequence Applied",
([Link]# - [Link]#) "Difference" FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT
THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT
THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL WHERE [Link]# = [Link]#
ORDER BY 1;

You might also like