聯機日誌檔案損壞問題
聯機日誌檔案分2種: 當前聯機日誌 和 非當前聯機日誌
非當前聯機日誌的丟失並不會產生太大的影響,但當前聯機日誌的丟失,非常有可能會造成資料的丟失。
以下操作均在歸檔模式下操作
在啟動資料庫時,發現只是啟動到mount狀態下,報ORA-00312或ORA-00313錯誤。
select * from v$log;
檢視丟失或損壞日誌是不是當前日誌。
如果丟失的是非當前聯機日誌,它的恢復是比較簡單的。
1.如果損壞的日誌檔案已經歸檔。
alter database clear logfile group n;
--用上述命令對這個日誌檔案進行重建
2.如果損壞的日誌檔案還沒有歸檔
alter database clear unarchived logfile group n;
-------------------------------------------------------------------------------------
最後就可以正常開啟資料庫了
alter database open;
由於是非當前日誌丟失,此恢復過程並不會造成資料丟失。
如果丟失的書當前聯機日誌,它非常有可能造成資料丟失
首先如果有資料庫全備份的話,使用rman先修復一下
restore database;
recover database until cancel;--能恢復到什麼程度就恢復到什麼程度
選擇auto進行恢復,出錯不管它
alter database open resetlogs;
以上做的一致性的不完全恢復,會跑日誌到現在可以用到的日誌,並回滾未提交的事務資料,丟失的是當前聯機重做日誌中的資料。
如果沒有備份的話,就只能進行不一致性恢復。
修改一致性校驗引數
alter system set "_allow_resetlogs_corruption" =true scope=spfile;
重新啟動資料庫到mount。
recover database until cancel;
alter database open resetlogs;
alter system set "_allow_resetlogs_corruption" =false scope=spfile;--將引數修改回來
利用現有資料,重新建庫
_allow_resetlogs_corruption引數設定為true時,只要資料庫啟動需要的各個物理檔案都在的話,就算資料檔案頭部和控制檔案中的那些scn值不相等,它也可以強行開啟資料庫。
這種方法是萬不得已才用的,這種做法會導致資料庫不一致,就是有可能出現已提交的資料沒被寫到資料檔案中,而未提及的事務的資料寫到了資料檔案中。
實驗1:
丟失當前聯機重做日誌檔案,用備份進行一致性的不完全恢復。
手動刪除當前日誌
強制重新啟動資料庫,出錯
用rman恢復資料檔案
開啟資料庫後,檢視資料是否還在,已經不存在
實驗2:
丟失當前日誌檔案,假設沒有備份,進行不一致性不完全恢復
刪除當前日誌檔案
開啟資料庫後,重置一致性引數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29227735/viewspace-1066330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 當前聯機日誌檔案損壞
- 損壞聯機日誌 恢復
- 聯機日誌檔案損壞後的恢復方法[轉帖]
- Oracle聯機日誌檔案丟失或損壞的處理方法Oracle
- 聯機日誌損壞恢復實驗
- 損壞聯機日誌的恢復方法
- 重做日誌檔案損壞測試
- Oracle中的聯機日誌檔案發生不同程度損壞的恢Oracle
- ORACLE聯機日誌檔案丟失或損壞的處理方法(轉)Oracle
- Oracle聯機日誌檔案丟失或損壞的處理方法 (轉)Oracle
- redo日誌損壞
- 備份&恢復之十一:損壞當前聯機日誌
- 一次日誌檔案損壞的恢復
- 日誌檔案問題
- REDO日誌損壞,非歸檔模式資料檔案恢復模式
- oracle 聯機重做日誌檔案Oracle
- 備份&恢復之十:損壞非當前聯機日誌
- inactive狀態日誌組檔案損壞的恢復
- SQL Server 2005日誌檔案損壞的處理方法SQLServer
- Oracle重做日誌檔案損壞或丟失後的恢復Oracle
- 線上日誌檔案損壞恢復方法
- 聯機重做日誌檔案的恢復
- 【備份與恢復】重建受損的聯機重做日誌檔案成員
- undo 檔案損壞
- Checkpoint not complete 日誌檔案問題
- 【備份與恢復】恢復受損的複用聯機重做日誌檔案
- 聯機日誌檔案丟失解決方法
- 聯機重做日誌、歸檔日誌、備用重做日誌
- 陣列櫃故障造成控制檔案損壞,資料檔案損壞陣列
- Laravel 日誌檔案許可權問題Laravel
- oracle聯機日誌檔案REDO LOGFILE簡述Oracle
- 丟失聯機重做日誌檔案的恢復
- 聯機日誌檔案丟失解決方法(二)
- 聯機日誌檔案丟失解決方法(一)
- INACTIVE日誌組損壞的修復
- 解決物理standby 歸檔日誌損壞ORA-00334
- Oracle資料庫恢復:歸檔日誌損壞案例一則Oracle資料庫
- 一個控制檔案損壞