聯機重做日誌丟失的恢復

舊夢依稀發表於2013-11-19
聯機重做日誌丟失的恢復
(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;
幸運的話會成功開啟,如果不能開啟,那就需要執行資料庫不完全恢復。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28998293/viewspace-776937/,如需轉載,請註明出處,否則將追究法律責任。

相關文章