Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境:
北京某國企客戶Oracle 11g R2數(shù)據(jù)庫誤truncate table CM_CHECK_ITEM_HIS,表數(shù)據(jù)丟失,業(yè)務(wù)查詢到該表時報錯,數(shù)據(jù)庫的備份不可用,無法查詢表數(shù)據(jù)。
Oracle數(shù)據(jù)庫執(zhí)行Truncate命令的原理:在執(zhí)行Truncate命令后ORACLE會在數(shù)據(jù)字典和SegmentHeader中更新表的DataObjectID,但不會修改實際數(shù)據(jù)部分的塊。由于數(shù)據(jù)字典與段頭的DATA_OBJECT_ID與后續(xù)的數(shù)據(jù)塊中的并不一致,所以O(shè)RACLE服務(wù)進(jìn)程在讀取全表數(shù)據(jù)時不會讀取到已經(jīng)被TRUNCATE的記錄,但是實際數(shù)據(jù)未被覆蓋。
Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:
1、為保護(hù)用戶數(shù)據(jù)和重現(xiàn)故障的解決過程,北亞企安數(shù)據(jù)恢復(fù)工程師重構(gòu)了與用戶相同的故障:
使用Scott用戶創(chuàng)建表emp1,連續(xù)多次復(fù)制emp表,多次復(fù)制后的總記錄數(shù)為7340032條。truncate表emp1,之后沒有進(jìn)行任何操作。查詢該表,數(shù)據(jù)庫中該表的記錄為0條。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)恢復(fù)
注: Os:win server 2008R2。數(shù)據(jù)庫版本:win_oracle_11.2.0.1_x64;
2、對system表空間文件進(jìn)行分析,找到truncate表的原始數(shù)據(jù)所在位置。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)恢復(fù)
3、解析表所在的數(shù)據(jù)文件,找到被truncate的數(shù)據(jù)。
4、將truncate的數(shù)據(jù)插入到數(shù)據(jù)庫中。
5、在Oracle數(shù)據(jù)庫中查看被truncate的表,發(fā)現(xiàn)數(shù)據(jù)回來了,直接備份數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)恢復(fù)
6、Exp導(dǎo)出scott用戶。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)恢復(fù)
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
10093瀏覽量
90893 -
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
688瀏覽量
18802
發(fā)布評論請先 登錄
mysql數(shù)據(jù)恢復(fù)—mysql數(shù)據(jù)庫表被truncate的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復(fù)案例
Oracle數(shù)據(jù)恢復(fù)—格式化分區(qū)導(dǎo)致Oracle數(shù)據(jù)庫報錯的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例
oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?
分布式存儲數(shù)據(jù)恢復(fù)—虛擬機(jī)上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯誤 823”的數(shù)據(jù)恢復(fù)案例
Oracle推出創(chuàng)新數(shù)據(jù)庫服務(wù)
虛擬化數(shù)據(jù)恢復(fù)—誤還原快照的數(shù)據(jù)恢復(fù)案例
從Delphi、C++ Builder和Lazarus連接到Oracle數(shù)據(jù)庫
Oracle數(shù)據(jù)庫的多功能集成開發(fā)環(huán)境
服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列上層win系統(tǒng)+oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例
SqlServer數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫誤truncate表的數(shù)據(jù)恢復(fù)案例
評論