Oracle聯機重做日誌丟失的恢複
(1)非活動的聯機重做記錄檔群組成員的丟失
如果資料庫尚未關閉,並且丟失的是活動重做日誌組或當前重做日誌組的成員,則立刻使用alter database checkpoint進行檢查點檢查,此命令將強迫資料庫以緊迫方式將所有資料庫緩衝區快取的髒資料區塊寫入到資料檔案中。一旦完成檢查點檢查操作,則應該執行alter database add logfile 命令重建重做日誌群組成員。
alter database add logfile '' reuse to group 2;
(2)非活動的聯機重做記錄檔組丟失
a)在資料庫啟動期間丟失非活動的聯機重做記錄檔組
在啟動資料庫時,若不能開啟非使用中的聯機重做記錄檔組,將會報錯終止啟動。
首先確定出現問題的日誌組中是否有日誌成員存在,如果有,就按照前面的方法執行恢複。如果所有成員都丟失了,就先刪除整個日誌組,再建立新的日誌組如下:
alter database drop logfile group 2;
alter database add logfile group 2 '' size 50M;
b)在資料庫運行期間丟失非活動的聯機重做記錄檔組
alter system checkpoint;
alter database clear logfile group 1;或者alter database clear unarchived logfile '';
(3)丟失活動但非目前狀態的聯機重做記錄檔組
這種情況下需要使用alter database clear unarchived logfile ''命令。
(4)丟失當前聯機重做記錄檔組
一般而言,這種情況下Oracle會自動關閉,如果幸運的話沒有關閉,應該馬上執行alter system checkpoint,然後關閉資料庫,依次執行
startup mount;
alter database clear unarchived logfile;
alter database open;
幸運的話會成功開啟,如果不能開啟,那就需要執行資料庫不完全恢複。
推薦閱讀:
RMAN 配置歸檔日誌刪除策略
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密