共計 860 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章主要介紹 oracle 中 rman 備份失敗與 crosscheck 的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
當 oracle 的歸檔日志文件 delete 掉或異常變動后,在 controlfile 文件中仍然記錄著這些 archivelog 的信息,在我們手工清除或改動 archive 目錄下的文件后,這些記錄并沒有被我們從 controlfile 中清除掉,也就是說數據庫并不知道這些文件已經不存在了,在這個時候通常會造成 rman 備份的失敗,因為 Rman 備份會檢測到日志缺失,從而無法進一步繼續執行下去。
這時為恢復 RMAN 的正常備份,我們通常會在數據庫里手工執行兩條常用的命令。
crosscheck archivelog all;的作用就是檢查控制文件和實際物理文件的差別。
delete expired archivelog all; 就是同步控制文件的信息和實際物理文件的信息。
如果單獨執行 crosscheck 而沒有執行 delete 那么備份還是失敗的,原因是那些控制文件的信息和實際的信息還是不同。一般我們可以試著先 CROSSCHECK 一下,如果不行執行 delete expired archivelog all 后再執行一下 crosscheck archivelog all
如果 NBU 備份是調用的 RMAN 腳本,我們也需要進行同樣的處理以恢復 NBU 的備份。
DB2 數據庫 解決這個問題的辦法:
1. 某個時間點之前的日志全部被手工刪除,結果發現 NBU 的歸檔日志無法繼續進行。而歸檔日志也無法手工進行。
2. 使用 如下命令解決:
db2 connect to test
db2 prune logfile prior to first active logfile
執行此命令后,在此日志文件之前的日志文件全被刪除了。此時再執行一次全備份,系統恢復正常。
以上是“oracle 中 rman 備份失敗與 crosscheck 的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!