天天看點

手工消除dataguard的gap

dataguard的gap是生産端存在容災段沒有應用的日志,一般情況下,dataguard會自動消除gap。

下面提供手工消除gap的方法:

1.在備庫查詢有哪些日志丢失,沒應用到備庫

 SQL> select * from V$ARCHIVE_GAP;

   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#

---------- ------------- --------------

         1          9873        9876

我們可以看到9873到9876這四個歸檔日志丢失,

2.我們在主庫找到這四個歸檔日志傳送到備庫歸檔目錄下;

3.備庫注冊

alter database register logfile '/oracle/app/oracle/archive/1_9873_629923600.arc';

system alerted

alter database register logfile '/oracle/app/oracle/archive/1_9874_629923600.arc';

system alerted

alter database register logfile '/oracle/app/oracle/archive/1_9875_629923600.arc';

system alerted

alter database register logfile '/oracle/app/oracle/archive/1_9876_629923600.arc';

system alerted

4.檢查資料庫日志看是否應用

Thu Apr  8 15:55:17 2010

Media Recovery Log /oracle/app/oracle/archive/1_9873_629923600.arc

Media Recovery Log /oracle/app/oracle/archive/1_9874_629923600.arc

Media Recovery Log /oracle/app/oracle/archive/1_9875_629923600.arc

Media Recovery Log /oracle/app/oracle/archive/1_9876_629923600.arc

或者查詢視圖

v$archived_log的applied字段

5、檢查備庫是否還有日志GAP

SQL> select * from V$ARCHIVE_GAP;

出現沒有行選擇,則表示不存在歸檔日志丢失問題