問題描述
oracle中DG出現主備不同步現象,alert日志報警有gap信息,但是v$archive_gap視圖查不到任何信息。同時主庫上的對應歸檔已經刪除且沒有備份
解決方案
1.查詢備庫的scn
SQL> select current_scn from v$database;
這時有可能出來的scn是以科學計數法的方式顯示
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1.4969E+13
設置行寬,重新查詢:
SQL> set numwidth 20
SQL> /
CURRENT_SCN
--------------------
14968833842954
?
2.主庫用rman基于以上查出的scn備份:
RMAN> backup incremental scn? 14968833842954 database format '/backup/rman/bak_%U';?
說明:主庫之前必須要做過rman的全備(沒有全備的庫,基于scn的增量備份也能夠成功)
備份控制文件:
RMAN>backup current controlfile for standby format '/backup/rman/standby.ctl';
將以上備份文件及控制文件傳到備庫
?
3.把備庫啟動到nomount狀態,恢復控制文件
RMAN> restore standby controlfile from '/backup/standby.ctl';
另開一個窗口:SQL>alter database mount;
開始恢復:
RMAN>catalog start with '/backup/rman/';(catalog是10g以后才有的,另如果該命令報no files fount 錯誤,把備份文件移到新目錄下重新catalog)
RMAN>recover database noredo;
如果是11g需要把庫啟動到open模式,啟動時要用resetlogs,如果是10g可以在新窗口直接打開應用,然后主庫切換歸檔查看應用是否同步,如果能正常接收并應用歸檔,說明gap修復成功。
?
?
?
?