非歸檔下日誌檔案丟失的處理辦法

gholay發表於2014-03-14
日誌檔案在非歸檔模式下丟失怎麼辦?


模擬刪除:
rm /u01/oracle/oradata/orcl/redo* -rf

第一步:
全備資料檔案,控制檔案,spfile or pfile
(因為如果恢復不過來,可以還原最初資料庫的狀態讓別人來恢復)

第二步:
想辦法使用resetlogs讓資料庫open

僅僅只是丟了日誌檔案 ,資料檔案和控制檔案並沒有丟失。
只需要resetlogs.

但resetlogs只能在不完全恢復的時候用。
此時要用
recover database using backup controlfile ;
只敲回車。執行完畢 。

然後再去執行alter database open resetlogs ;
這時候會報錯需要一致性驗證。



第三步:
如果需要驗證資料一致性則使用隱藏引數 _allow_resetlogs_corruption=true

此時可以用下面命令來取消控制 檔案的一致性驗證。
alter system set "_allow_resetlogs_corruption"=true scope=spfile ;
然後startup force mount.


第四步:
open過後, 把_allow_resetlogs_corruption引數取消。

show parameter _allow
alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*' ;
shutdown immediate  -- 修改之後需要重新啟動資料庫。

隱藏引數如果沒有關閉,會產生ORA-600錯誤,使用了之後 一定要關掉。

這時候日誌檔案就自動生成了。可以通過下面的命令查詢恢復後的日誌檔案 。
SQL> ho ls /u01/oracle/oradata/orcl/redo*  






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

相關文章