1. Get current SCN from standby database
sql > select current_scn from v$database;
2. Take rman backup and backup of controlfile from primary
RMAN> backup incremental from scn 12252407093884 database format '/u03/rman_backup/inc_backup_%U';
RMAN> backup current controlfile for standby format '/u03/rman_backup/stnd_%U.ctl';
3. copy all backup pieces to standby and catalog it
RMAN> catalog start with '/u03/rman_backup/';
4. Restore standby database
RMAN> recover database noredo;
5. shut down database, start in nomount mode and restore standby controlfile. restart db in mount mode
RMAN> shutdown immediate
RMAN> startup nomount
RMAN> restore standby controlfile from '/u03/rman_backup/stnd_12n6p3qt_1_1.ctl';
RMAN> <strong>shutdown immediate
RMAN> startup mount
6. if standby and primary database datafile location is diffrant then catalog standby datafiles and switch to datafile.
RMAN> catalog start with '+DATA/SSSB/DATAFILE';
RMAN> switch database to copy;
7. Start Recovery.
SQL> alter database recover managed standby database disconnectfrom session;
8. Switch logfile on primary and check gap.
# On Primary
sql > alter system switch logfile;
-- Query to check archivelog GAP on standby
col SPACE_LIMIT_GB for 999,999,999,999
col SPACE_USED_GB for 999,999,999,999
col name for a30
SELECT ARCH.THREAD# "Thread",
ARCH.SEQUENCE# "Last Sequence Received",
APPL.SEQUENCE# "Last Sequence Applied",
(ARCH.SEQUENCE# - APPL.SEQUENCE#) "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 ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;
No comments:
Post a Comment