oracle數據庫誤執行truncate命令導致數據丟失是一種常見情況。通常情況下,oracle數據庫誤操作刪除數據只需要通過備份恢復數據即可。也會碰到一些特殊情況,例如數據庫備份無法使用或者還原報錯等。下面和大家分享一例oracle數據庫誤執行truncate命令導致數據丟失的數據庫數據恢復過程。
Tips:oracle數據庫Truncate命令工作原理:oracle通過SegmentHeader及數據字典對表的DataObjectID進行更新,實際上存儲數據部分的塊并未被修改。oracle服務再次讀取全表數據時就會因為DataObjectID與實際存儲的數據塊內容不一致導致被truncate的內容記錄無法被讀取。
oracle數據庫數據恢復過程:
北亞企安數據恢復工程師模擬出現問題的oracle數據庫環境:
操作系統:win server;
數據庫版本:win_oracle_x64;
1、使用Scott用戶創建表emp1,復制emp表,連續復制多次。truncate表emp1。此時查詢該表,數據庫中該表的記錄為0條。
北亞企安數據恢復—oracle數據恢復
2、打開數據庫文件的底層數據,分析system表空間文件。通過解析system01.dbf文件,找到被truncate表的原始數據所在的位置。
北亞企安數據恢復—oracle數據恢復
3、解析被truncate表所在的數據庫數據文件,找到被truncate的數據。
4、將被truncate的數據庫插入到數據庫中。
5、在數據庫中查找被truncate的表,發現數據回來了,備份數據。
北亞企安數據恢復—oracle數據恢復
Exp導出scott用戶。
北亞企安數據恢復—oracle數據恢復
審核編輯 黃宇
-
數據恢復
+關注
關注
10文章
637瀏覽量
18016 -
數據庫
+關注
關注
7文章
3901瀏覽量
65787 -
Oracle
+關注
關注
2文章
299瀏覽量
35830
發布評論請先 登錄
數據庫數據恢復—SQL Server附加數據庫提示“錯誤 823”的數據恢復案例

服務器數據恢復—raid5陣列上層win系統+oracle數據庫數據恢復案例
數據庫數據恢復—ORACLE常見故障的數據恢復可行性分析
Oracle報錯“system01.dbf需要更多的恢復來保持一致性”的數據恢復案例

oracle數據恢復—存儲掉盤導致Oracle數據庫文件大小變為0kb的數據恢復案例

數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

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

評論