數據庫恢復環境:
操作系統:windows server;
數據庫:win_oracle_x64。
數據庫故障&分析:
oracle數據庫誤truncate table,備份無法使用。
oracle數據庫誤操作導致數據丟失是比較常見的一種故障,如果有備份只需要恢復備份數據即可,我們中心數據恢復工程師接到的case多是無備份或者備份無法使用、還原報錯等。
首先介紹下Truncate工作原理:正常情況下oracle會通過Segment Header及數據字典對表更新Data Object ID,實際上存儲數據部分的塊并未被修改,如果被truncate,那么oracle在讀取全表數據時會因為數據字典和Data Object ID與實際存儲的數據塊內容不一致而不會讀取被truncate的內容記錄。
數據庫數據恢復過程:
本次案例演示中,北亞數據恢復工程師構造了一個相同環境下的類似故障。
1、用Scott用戶創建表emp1,連續多次復制emp表,然后truncate表emp1。此時查詢該表,數據庫中該表的記錄為0條。
北亞數據恢復——oracle數據庫數據恢復
2、基于oracle數據庫文件底層分析system表空間文件,找到truncate表的原始數據所在的位置。
北亞數據恢復——oracle數據庫數據恢復
3、解析表所在的數據文件數據庫,找到truncate的數據并將truncate的數據插入到數據庫中。通過解析system01.dbf文件,找到truncate的數據所在的位置,繼而找到被刪除的數據。解析表所在的數據文件,然后將truncate的數據插入到數據庫中。
4、在數據庫中查找被truncate的數據,結果發現被truncate的數據已經恢復,備份數據。
北亞數據恢復——oracle數據庫數據恢復
5、Exp導出scott用戶。
北亞數據恢復——oracle數據庫數據恢復
審核編輯:湯梓紅
-
WINDOWS
+關注
關注
4文章
3598瀏覽量
90704 -
數據恢復
+關注
關注
10文章
627瀏覽量
17944 -
數據庫
+關注
關注
7文章
3884瀏覽量
65582 -
Oracle
+關注
關注
2文章
298瀏覽量
35685
發布評論請先 登錄
相關推薦
分布式存儲數據恢復—虛擬機上hbase和hive數據庫數據恢復案例
數據庫數據恢復——MongoDB數據庫文件拷貝后服務無法啟動的數據恢復

數據庫數據恢復—SQL Server附加數據庫提示“錯誤 823”的數據恢復案例

SqlServer數據恢復—SqlServer數據庫數據恢復案例

數據庫數據恢復—ORACLE常見故障的數據恢復可行性分析
數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

oracle數據恢復—Oracle數據庫打開報錯的數據恢復案例

數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

Oracle數據恢復—Oracle數據庫delete刪除的數據恢復方法
Oracle數據恢復—Oracle刪除數據不用怕!這些數據恢復方法了解一下
數據庫數據恢復—SQL Server數據庫所在分區空間不足報錯的數據恢復案例
數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

評論