DG 主庫丟失歸檔

lovehewenyu發表於2012-04-10
 

DG 主庫丟失歸檔

 

 

主要原因就是備庫沒有APP呢,主庫就誤把歸檔刪除了。常見的這種情況都是主庫RMAN做備份的時候把歸檔刪除了。

 

丟失歸檔解決方法:用RMAN 增量備份恢復,還有恢復控制檔案。

 

備庫:

SQL> select sequence#,applied from v$archived_log;

 

 SEQUENCE# APP

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

        69 YES

        70 YES

        71 YES

        72 YES

        73 YES

        74 YES

        75 YES

        76 YES

        77 YES

        78 YES

        79 YES

 

 SEQUENCE# APP

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

        86 NO

        87 NO

從這裡我們可以看出2個問題:

1、 從80到85 sequence# 沒有記錄了,這裡就是主庫的歸檔丟失了,都沒有傳輸到備庫上。

2、 86,87 sequence# 傳輸過來了,證明歸檔過來了,但是沒有應用(這裡執行命令恢復:alter database recover managed standby database disconnect from session 執行後還是沒有同步因為這裡的GAP不同了,所以DG不應用回來傳輸過來的日誌)。這個問題就是因為前面的歸檔丟失了,所以後面到來的歸檔也沒有辦法應用。

 

 

解決方法:

 

一、備庫

檢視當前的SCN號:

SQL> select current_scn from v$database;

 

CURRENT_SCN

-----------

     528205

 

二、主庫

進行RMAN增量備庫:

Rman>backup as compressed backupset incremental from SCN 528205 database format '/u01/standby_%d_%T_%U.bak' include current controlfile for standby filesperset=5 tag 'FOR STANDBY';

(一條命令增量備份,同時也備份了控制檔案。)

 

三、備庫

進行恢復資料,恢復控制檔案:

1、把增量備份SCP到備庫上,並且用 CATALOG START WITH ‘/u01/’; 註冊。

2、然後進行恢復。

 

Alter database recover managed standby database disconnect from session;

Alter database recover managed standby database cancel;

 

RMAN> run {
allocate channel dsk0 type disk;
allocate channel dsk1 type disk;
allocate channel dsk2 type disk;
restore standby controlfile to '/u01/control01.ctl';
recover database noredo;
}

 

然後 shut immediate 把控制檔案覆蓋原控制檔案。

然後 startup mount

Alter database recover managed standby database disconnect from session;

 

四、主庫

切換即可,然後檢視備庫的歸檔應用狀態。

Select sequence#,applied from v$archived_log;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-720840/,如需轉載,請註明出處,否則將追究法律責任。

相關文章