Oracle Data Guard的日誌FAL gap問題

在OracleData Guard環境中,一個備庫出現問題,需要重做。因爲之前的配置環境都是好的,只需將主庫的全庫備份恢復到備庫即可。但在數據文件還原完成後,介質恢復時在alert.log中提示有gap的日誌文件,RFS進程繼續去提取主庫上的其他的歸檔日誌文件。

alert.log文件中提示信息如下:

TueApr  9 14:20:56 2013

MediaRecovery Log +LOGDG/servdg2/archivelog/2013_04_09/thread_1_seq_71989.3551.812298053

MediaRecovery Waiting for thread 2 sequence 68042

Fetchinggap sequence in thread 2, gap sequence 68042-68094

TueApr  9 14:20:58 2013

RFS[1]:Archived Log:

'+LOGDG/servdg2/archivelog/2013_04_09/thread_2_seq_68052.2968.812298059'

TueApr  9 14:21:31 2013

Fetchinggap sequence in thread 2, gap sequence 68042-68051

TueApr  9 14:22:06 2013

FAL[client]:Failed to request gap sequence

 GAP - thread 2 sequence 68042-68051

 DBID 3658273059 branch 717104091

FAL[client]:All defined FAL servers have been attempted.

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

Check thatthe CONTROL_FILE_RECORD_KEEP_TIME initialization

parameteris defined to a value that is sufficiently large

enough tomaintain adequate log switch information to resolve

archiveloggaps.

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

備庫因日誌中斷而不能繼續進行介質恢復。我們的問題就是如何將這些日誌文件找回來。

在主庫中,判斷歸檔日誌狀況。

select *from v$archived_log b where b.SEQUENCE#>=68042 and b.THREAD#=2 andb.SEQUENCE#<=68051 and b.DEST_ID=1 and b.DELETED='YES';

通過這個SQL,確認這些歸檔日誌已經被刪除了。

歸檔日誌文件通過RMAN工具定期刪除的,因爲還原數據文件過程很長,在還原完成後,歸檔日誌已經備份移走了。

RMAN>list backup of archivelog from sequence 68042 until sequence 68051 thread 2;

在rman備份集中找到結果集,使用restore archivelog還原。

RMAN>restore archivelog from sequence 68042 until sequence 68051 thread 2;

這樣,備庫上又能繼續獲取這些歸檔日誌文件了。如果沒有,在主庫上將指向該備庫的log_archive_dest_state_*先defer再enable一下,算是激活這個服務。

因爲主庫是RAC的,所以會有多個實例會提示這種錯誤,依次解決即可。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章