無任何歸檔,強制拉熱備RESTORE回來的庫

westzq1984發表於2013-07-22
儲存損壞,只有20天以前的一次全備,無任何歸檔
在RESTORE後,使用 _allow_resetlogs_corruption 強制拉起來庫

為防止可能的回滾發生異常導致宕庫,設定10513 EVENTS,禁止SMON去回滾事務
由於這次不涉及到前滾,沒有設定db_block_checking,如果有可能的前滾,可能導致邏輯異常,設定db_block_checking可以避免異常發生時的宕庫,而只是對邏輯錯誤進行記錄
資料庫成功OPEN後,立刻重建UNDO表空間,這樣可以有效避免未決的事務回滾時,導致ORA-600錯誤。重建UNDO後,所有未決事務都會以延遲塊清除的方式進行處理
重啟一次庫,將資料庫置為read only模式,進行匯出,否則由於延遲塊清除&後臺的一些JOB做的塊更改,可能在匯出資料時,報告ORA-1555錯誤

匯出一定要分表匯出,否則碰到一些錯誤將導致EXP中斷
匯出完成後檢查日誌,確定那些表的資料沒有正常匯出,然後進行處理
這次遇到的錯誤:
ORA-8103:資料塊的DATA_OBJECT_ID不對
ORA-1410:ROWID指向的資料不存在,行連線,LOB都有可能
ORA-1555:延遲塊清除導致

ORA-8103/1410通過如下指令碼處理,資料是肯定會丟失的,反正這樣開啟的庫,資料肯定存在問題了,多丟一點也不怎麼。
SCRIPT. to skip ORA-8103 ORA-1410 ORA-1578 ORA-600 [kdsgrp1] when reading a TABLE [ID 1527738.1]

ORA-1555,open read only即可

還遇到了個ORA-600[25012]:根據TS#和RFILE# 產生FILE#,但是FILE#找不到對應
這個應該是邏輯問題,可能行連線/LOB指向下一個塊的rowid存在問題,猜想應該要BBED去弄了。還好這個是個日誌表,可以不要,就沒接著搞他

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

相關文章