`
ybbkd2
  • 浏览: 32271 次
社区版块
存档分类
最新评论

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

阅读更多
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://huyoung.blog.51cto.com/883750/427273


       当备库没有接收到一个或多个归档重做日志文件的时候,归档丢失的情况就出现了。通常情况下归档重做日志文件丢失是不需要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就可以了。




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics