【數據庫數據恢復】LINUX下ORACLE數據庫誤刪除的數據恢復案例

數據庫數據恢復環(huán)境:
LINUX EXT3文件系統(tǒng),部署ORACLE數據庫。

管理員在建立測試庫時選錯了服務器,在ORACLE數據庫平臺上CREATE了一套新庫,創(chuàng)建至10%左右時發(fā)現異常,中止操作。
查看數據庫目錄發(fā)現只剩下SYSTEM2.DBF這一個庫,其他的庫(主要為SYSTEM1.DBF)丟失。
經過北亞數據恢復工程師團隊經過會診,最終確定了方案:
直接重建原先文件的屬性節(jié)點,即主要恢復原文件的大小、存儲位置等信息。通過節(jié)點重新描述文件。
如果上述方法不可行,可以按照ORACLE數據庫的頁面結構特征進行分析與恢復。

1、對故障數據庫所涉及到的硬盤做鏡像備份,后續(xù)的數據恢復操作在鏡像備份文件上進行,避免對原始數據造成二次破壞。
2、通過北亞自主開發(fā)的針對LINUX EXT3文件系統(tǒng)誤刪除的恢復軟件,我們找到了一些ORACLE數據庫文件,導出后發(fā)現導出的SYSTEM1雖然結構完好,但文件大小與用戶描述的文件大小相差很遠。
3、經過仔細分析,確認導出的SYSTEM1.DBF為用戶創(chuàng)建測試庫時生成的庫,因未全部生成便被取消,所以只占用了很小的初始化空間,與原數據庫無關。
4、重新對全盤進行掃描,結合ORACLE本身的結構,鎖定原SYSTEM1.DBF的數據區(qū),但發(fā)現這塊數據區(qū)已經被新生成的幾個新庫覆蓋了。
5、經過北亞數據恢復工程師的努力,將用戶描述大小的丟失的數據成功導出。但經過驗證后發(fā)現,導出的數據雖然結構完好、無損壞,但因頭部庫結構及字典均遭受破壞,無法重現,只能在數據完好的區(qū)域內再次查找數據。
6、ORACLE工程師通過對中間數據進行分析、重組,重新導入到新庫中并進行驗證,最終用戶確認所需要的數據已經全部恢復。
