https://docs.google.com/document/d/16jLzBuLu6gTBN7UpL51oXp3rKgvZWZfzyMY0rhdv4i4/edit?hl=en
Using RMAN Incremental Backups to Roll
Forward a Physical Standby Database
Case Details:
Suppose network is down between primary server
and standby server or standby server is down due to some hardware failure for
long time.
In between down time, you have remove archive log
file from primary server without taking backup of archive log files.
In above scenario, how to synchronies your
standby database without archive logs.
Solution:
We can use RMAN incremental backups to
synchronize a physical standby database with the primary database. Using the
RMAN BACKUP INCREMENTAL FROM SCN command, we can create a backup on the primary
database that starts at the standby database’s current SCN, which can then be
used to roll the standby database forward in time.
Step 1 On the standby
database, stop the managed recovery process (MRP):
SQL> ALTER DATABASE RECOVER MANAGED
STANDBY DATABASE CANCEL;
Step 2 On the standby
database, find the SCN which will be used for the incremental backup at the
primary database:
SQL> SELECT CURRENT_SCN FROM
V$DATABASE;
Step 3 In RMAN, connect
to the primary database and create an incremental backup from the SCN derived
in the previous step:
RMAN> BACKUP INCREMENTAL FROM SCN <SCN from step 2>
DATABASE FORMAT '/tmp/ForStandby_%U' tag
'FORSTANDBY';
Step 4 Transfer all
backup sets created on the primary system to the standby system
SCP /tmp/ForStandby_* standby:/tmp
Step 5 Connect to the
standby database as the RMAN target, and catalog all incremental backup pieces:
RMAN> CATALOG START WITH
'/tmp/ForStandby';
Step 6 Recover the
standby database with the cataloged incremental backup:
RMAN> RECOVER DATABASE NOREDO;
Step 7 In RMAN, connect
to the primary database and create a standby control file backup:
RMAN> BACKUP CURRENT CONTROLFILE FOR
STANDBY FORMAT '/tmp/ForStandbyCTRL.bck';
Step 8 Copy the standby
control file backup to the standby system. For example:
SCP /tmp/ForStandbyCTRL.bck standby:/tmp
Step 9 Shut down the
standby database and startup nomount:
RMAN> SHUTDOWN;
RMAN> STARTUP NOMOUNT;
Step 10 In RMAN, connect
to standby database and restore the standby control file:
RMAN> RESTORE STANDBY CONTROLFILE FROM
'/tmp/ForStandbyCTRL.bck';
Step 11 Shut down the
standby database and startup mount:
RMAN> SHUTDOWN;
RMAN> STARTUP MOUNT;
Step 12 If the primary
and standby database data file directories are identical, skip to step13.
If the primary and standby database data
file directories are different, then in
RMAN, connect to the standby database,
catalog the standby data files, and switch the standby database to use the
just-cataloged data files. For example:
RMAN> CATALOG START WITH
'+DATA_1/CHICAGO/DATAFILE/';
RMAN> SWITCH DATABASE TO COPY;
Step 13 If the primary
and standby database redo log directories are identical, skip to step 14.
Otherwise, on the standby database, use
an OS utility or the asmcmd utility (if
it is an ASM-managed database) to remove
all online and standby redo logs from
the standby directories and ensure that
the LOG_FILE_NAME_CONVERT parameter is properly defined to translate log
directory paths. For example, LOG_FILE_NAME_CONVERT=’/BOSTON/’,’/CHICAGO/’.
Step 14 On the standby
database, clear all standby redo log groups (there may be more than 3):
SQL> ALTER DATABASE CLEAR LOGFILE
GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE
GROUP 2;
SQL> ALTER DATABASE CLEAR LOGFILE
GROUP 3;
Step 15 On the standby
database, restart Flashback Database (Optional):
SQL> ALTER DATABASE FLASHBACK OFF;
SQL> ALTER DATABASE FLASHBACK ON;
Step 16 On the standby
database, restart MRP:
SQL> ALTER DATABASE RECOVER MANAGED
STANDBY DATABASE DISCONNECT;
works very well...thanks
ReplyDelete