Wednesday, April 23, 2014

STEPS TO SYNC MISSING ARCHIVES FROM PRIMARY TO STANDBY

DATAGUARD MISSING ARCHIVES SYNCING

step:1.
Check for GAP on standby(primary & standby)

 select max(sequence#) from v$log_history;

primary > SELECT THREAD# "Thread",SEQUENCE# "Last Sequence Generated"
          FROM V$ARCHIVED_LOG
          WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)
          ORDER BY 1;



step:2
Check redo received on standby and Check redo applied on standby

standby > 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;




step3:
Identify missing archive log files

standby > SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

-- if GAP
standby > SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;




step4:
Copy archive log files

After identifying a gap (as shown above), the DBA will need to query the primary database
to locate the archived redo logs on the primary database. The following query assumes the
local archive destination on the primary database is LOG_ARCHIVE_DEST_1:

primary > SELECT name
            FROM v$archived_log
            WHERE thread# = 1
              AND dest_id = 1
              AND sequence# BETWEEN 24 and 28;

scp /backup /standby lov/path/backup

or take incremental backup in RMAN 

BACKUP CHECK LOGICAL AS BACKUPSET INCREMENTAL LEVEL 1 DEVICE TYPE DISK TAG = 'HOURLY_INCREMENTAL_ARCHIVELOG' FORMAT 

'/u01/oradata/backups/hourly_incremental_archivelog_%d_t%t_s%s_p%p' ARCHIVELOG FROM TIME 'SYSDATE-1';






step5:

Register archive log files with standby

--  Copy the above redo log files to the physical standby database and register
    them using the ALTER DATABASE REGISTER LOGFILE ... SQL statement on the
    physical standby database.
   
    For example:

standby > ALTER DATABASE REGISTER LOGFILE '/u02/oraarchive/TESTDB/arch_t1_s24.dbf';
standby > ALTER DATABASE REGISTER LOGFILE '/u02/oraarchive/TESTDB/arch_t1_s25.dbf';
standby > ALTER DATABASE REGISTER LOGFILE '/u02/oraarchive/TESTDB/arch_t1_s26.dbf';
standby > ALTER DATABASE REGISTER LOGFILE '/u02/oraarchive/TESTDB/arch_t1_s27.dbf';
standby > ALTER DATABASE REGISTER LOGFILE '/u02/oraarchive/TESTDB/arch_t1_s28.dbf';





step6:
Restart the managed recovery operations


-- After the redo logs have been registered on the physical standby database,
   the DBA can restart the managed recovery operations.
  
   For example, to put the physical standby database into automatic recovery managed mode:


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








No comments:

Post a Comment