管理Oracle 10g Dataguard归档缺口问题

       当备库没有接收到一个或多个归档重做日志文件的时候,归档丢失的情况就出现了。通常情况下归档重做日志文件丢失是不需要DBA手工干预的,Data Guard会自动的发现并解决这个问题的。

      在一些情况下当自动恢复没有运行的时候就需要你手工的解决这个问题了。在Physical Standby数据库上可以用下面的方法解决。

     1、在物理备库上通过查询v$archive_gap视图来查看有哪些归档丢失

SQL> SELECT * FROM V$ARCHIVE_GAP;
    THREAD#  LOW_SEQUENCE#  HIGH_SEQUENCE#
-----------  -------------  --------------
          1              7              10
     从以上语句可以看到日志文件序列从7到10丢失了。

     2、通过日志序列查询所丢失的文件的文件名(在主库上查询)

SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND  SEQUENCE# BETWEEN 7 AND 10;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/archive_log/1_7_734705865.dbf
/u01/app/oracle/archive_log/1_8_734705865.dbf
/u01/app/oracle/archive_log/1_9_734705865.dbf
/u01/app/oracle/archive_log/1_10_734705865.dbf

     3、将上面查询到的文件拷贝的备库的相应位置并通过ALTER DATABASE REGISTER LOGFILE语句进行注册


SQL> ALTER DATABASE REGISTER LOGFILE
  2  '/u01/app/oracle/archive_log/1_7_734705865.dbf';
在备库上注册完之后重新启用redo apply就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章