閱讀281 返回首頁    go 阿裏雲 go 技術社區[雲棲]


數據庫報錯“system01.dbf需要更多的恢複來保持一致性,數據庫無法打開”的解決方法

故障描述
故障主要表現為打開數據庫時報錯,內容為:“system01.dbf需要更多的恢複來保持一致性,數據庫無法打開”。經過對數據庫文件的檢測後初步可得出以下結論:sysaux01.dbf有壞塊,sysaux01.dbf文件損壞。急需恢複zxfg用戶下的數據。

故障分析
出現上述報錯的可能性原因主要有控製文件損壞、數據文件損壞,數據文件與控製文件的SCN不一致等。我們對數據庫文件進行進一步檢測、分析後發現sysaux01.dbf文件有壞塊。對其進行修複數並啟動數據庫後,依然有許多查詢報錯,export和 data pump工具不能使用,查詢告警日誌,分析報錯,這是由於sysaux文件損壞,導致發生上訴錯誤。從數據庫層麵不能修複數據庫。system和用戶表空間的數據文件都是正常的,可以利用底層解析數據文件恢複用戶數據。

檢測與恢複
1 利用DBV 檢測數據文件
圖一:1

分析結果發現SYSAUX01.DBF文件數據塊(Data)檢測失敗40頁,索引頁(Index)檢測失敗29頁,其他文件檢測正常。
2 修複數據庫,打開數據庫
圖二:2

圖三:3

3 查詢數據庫報錯,export 和data pump報錯
圖四:4

圖五:5

進行各種嚐試 ,查閱大量資料。數據庫的這種內部錯誤,不能通過命令修複。
4底層解析,將ZXFG用戶的數據導入到新的數據庫中
圖六:6

圖七:7

結果
底層解析數據庫文件,將zxfg用戶的數據導入到新的數據庫中,完全恢複用戶需要的數據,恢複100%的數據。

最後更新:2017-08-24 15:32:20

  上一篇:go  Python雜談——Python都能幹什麼?
  下一篇:go  區塊鏈數字貨幣交易所開發,突破數字貨幣交易平台開發