【資料庫資料恢復】LINUX EXT3檔案系統下ORACLE資料庫誤操作導致資料丟失的資料恢復案例

北亞資料恢復 發表於 2022-11-23
資料庫 Linux Oracle

資料庫資料恢復環境:
LINUX EXT3檔案系統,部署ORACLE資料庫。

資料庫故障&分析:
管理員在建立測試庫時選錯了伺服器,在ORACLE資料庫平臺上CREATE了一套新庫,建立至10%左右時發現異常,中止操作。
檢視資料庫目錄發現只剩下SYSTEM2.DBF這一個庫,其他的庫(主要為SYSTEM1.DBF)丟失。
經過北亞資料恢復工程師團隊經過會診,最終確定了方案:
直接重建原先檔案的屬性節點,即主要恢復原檔案的大小、儲存位置等資訊。透過節點重新描述檔案。
如果上述方法不可行,可以按照ORACLE資料庫的頁面結構特徵進行分析與恢復。

資料庫資料恢復過程:
1、對故障資料庫所涉及到的硬碟做映象備份,後續的資料恢復操作在映象備份檔案上進行,避免對原始資料造成二次破壞。
2、透過北亞自主開發的針對LINUX EXT3檔案系統誤刪除的恢復軟體,我們找到了一些ORACLE資料庫檔案,匯出後發現匯出的SYSTEM1雖然結構完好,但檔案大小與使用者描述的檔案大小相差很遠。
3、經過仔細分析,確認匯出的SYSTEM1.DBF為使用者建立測試庫時生成的庫,因未全部生成便被取消,所以只佔用了很小的初始化空間,與原資料庫無關。
4、重新對全盤進行掃描,結合ORACLE本身的結構,鎖定原SYSTEM1.DBF的資料區,但發現這塊資料區已經被新生成的幾個新庫覆蓋了。
5、經過北亞資料恢復工程師的努力,將使用者描述大小的丟失的資料成功匯出。但經過驗證後發現,匯出的資料雖然結構完好、無損壞,但因頭部庫結構及字典均遭受破壞,無法重現,只能在資料完好的區域內再次查詢資料。
6、ORACLE工程師透過對中間資料進行分析、重組,重新匯入到新庫中並進行驗證,終端使用者確認所需要的資料已經全部恢復。