聯繫:手機/微信(+86 17813235971) QQ(107644445)
作者:惜分飛©版權所有[未經本人同意,不得以任何形式轉載,否則有進一步追究法律責任的權利.]
國內xx醫院使用了國外醫療行業龍頭的pacs系統,由於是一個歷史庫,存放在分佈式存儲中,由於存儲同時多個節點故障,導致數據庫多個文件異常,數據庫無法啓動,三方維護人員嘗試通通過rman歸檔進行應用日誌,結果發現日誌有損壞報ORA-00354 ORA-00353,無法記錄恢復,希望我們給予支持
Mon Apr 29 13:28:40 2024 Media Recovery failed with error 354 Mon Apr 29 13:28:40 2024 Errors in file F:\XXXXXX_DB\ORACLE\ADMIN\diag\rdbms\xxx\msxxx1\trace\xxx_pr00_4568.trc: ORA-00283: recovery session canceled due to errors ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 487424 change 8737273868 time 04 /01/2024 01:38:25 ORA-00334: archived log: 'F:\XXXXXX_DB\ORADATA\XXX\LOGARC0000052184_0922116268.0001' ORA-283 signalled during: alter database recover logfile 'F:\XXXXXX_DB\ORADATA\XXX\LOGARC0000052184_0922116268.0001' ... |
接手故障之後,通過嘗試恢復發現除該錯誤之外,還有ORA-600 4552之類錯誤
跳過這些異常文件恢復,最終確認異常文件有如下部分
這些文件由於日誌無法正常應用(有日誌損壞無法應用,有日誌和數據文件block不匹配導致無法應用),這樣的情況直接通過自研的Oracle Recovery Tools小工具直接修改文件頭信息
然後嘗試OPEN數據庫結果報ORA-1207
對於這個故障可以通過rectl或者using backup ctl方式處理,然後open數據庫成功
由於該系統是歷史庫,不會有新業務寫入,通過對異常表和索引進行處理之後,客戶測試業務可以正常訪問,完成本次恢復