Oracle 10g DG 主庫丟失歸檔

lovehewenyu發表於2012-04-26

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 執行後日志86,87也沒有被應用。因為這裡出現了GAP)。【GAP解釋:missing archived redo log files (referred to as a gap)

官檔連結:  

 

 

解決方法:

 

一、備庫

檢視當前的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-722309/,如需轉載,請註明出處,否則將追究法律責任。

相關文章