Backup And Recovery User's Guide-在不損壞塊的情況下嘗試修復恢復問題:階段2

LuiseDalian發表於2014-03-05

在不損壞塊的情況下嘗試修復恢復問題:階段2

依賴於你猜想的介質恢復問題的型別,在你的處理中有不同的解決方案。

可以嘗試一種技術或多種技術的結合。這些解決方案是普通的修復技術,對地解決大多數的介質恢復問題是相當安全的。

29.5  介質恢復解決方案

假設

丟失或錯誤地命名了歸檔重做日誌

判斷你是否輸入了正確的檔名稱.如果輸入正確,則檢查這個日誌是否已經從作業系統丟失了。

如果丟失了並且你有備份,則還原備份並應用日誌;

如果沒有備份,則如果可能就執行不完全恢復到丟失日誌的點。

ALTER DATABASE OPEN出現ORA-1113錯誤

檢視錶29-4中引起這個錯誤的原因。確定所有需要恢復的read/write資料檔案是聯機的。

如果使用備份的控制檔案進行恢復,則控制檔案和資料檔案必須在一個一致的SCN,

這樣資料庫才能開啟。如果沒有需要的redo資料,則必須重建控制檔案。

損壞了歸檔日誌

如果在重做日誌塊上的校驗失敗,則該日誌就是損壞了。

如果在恢復會話過程中,或在資料庫產生redo資訊的時候,DB_BLOCK_CHECKSUM沒有開啟, 則恢復的問題可能是由損壞的塊引起的。

如果日誌被損壞並且另外的拷貝可用,則嘗試應用它並檢視這種策略能否修復問題。

DB_BLOCK_CHECKSUM初始化引數決定是否對重做日誌和資料塊進行校驗計算。

歸檔日誌與並行redo格式不相容

如果Oracle的版本<= 9.2並且你試圖應用使用並行redo格式建立的重做日誌,則必須完成下面的步驟:

1.         更新資料庫到更新的版本

2.         執行介質恢復

3.         一致地關閉資料庫並且備份資料庫

4.         降級資料庫到原來的版本

內在損壞或暫時的問題

通過關閉資料庫,重新開始恢復有可能修復問題。

如果第2次嘗試也失敗了,資料庫應該處於一致的狀態。

損壞資料塊

使用使用者管理的方法再次還原和恢復資料檔案,

或使用RMAN RECOVER…BLOCK命令還原和恢復單個的資料塊。這種技術可能修復問題。

 

如果在一個資料塊上的校驗驗證失敗,則這個資料塊就損壞了。

如果DB_BLOCK_CHECKING中禁用的,則資料塊損壞的問題可以表現為一個redo的問題。

 

如果你必須繼續介質恢復,則你可能想允許介質恢復當前將這些塊標誌為損壞的,繼續進行恢復,最後使用RMAN執行塊介質恢復。

 

如果不能使用 29.5中的方法來修復問題,則可能沒有容易的方法來修復問題並且不丟失資料,可有如下選擇:

n  RESETLOGS選項開啟資料庫(對於整個資料庫恢復)。

這種方法拋棄了redo問題發生點之後的所有改變,但保證了邏輯上一致的資料庫。

n  允許介質恢復損壞一個或多個資料塊然後繼續。

只有當預警日誌表明如果損壞一個或多個資料塊恢復可以繼續的時候,這個選項才能成功。

這可能是大多數恢復問題的情況。如果你必須快速地啟動資料庫恢復所有的改變,這個選擇是最好的。

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

相關文章