Oracle數(shù)據(jù)庫(kù)故障&分析:
北京某單位Oracle 11g R2數(shù)據(jù)庫(kù)誤執(zhí)行truncate table CM_CHECK_ITEM_HIS,表數(shù)據(jù)丟失,查詢(xún)?cè)摫頃r(shí)報(bào)錯(cuò)。數(shù)據(jù)庫(kù)備份無(wú)法使用,表數(shù)據(jù)無(wú)法查詢(xún)。
Oracle數(shù)據(jù)庫(kù)Truncate數(shù)據(jù)的機(jī)理:執(zhí)行Truncate命令后,ORACLE數(shù)據(jù)庫(kù)會(huì)在數(shù)據(jù)字典和SegmentHeader中更新表的DataObjectID,但是不會(huì)修改實(shí)際數(shù)據(jù)部分的塊。Truncate數(shù)據(jù)會(huì)導(dǎo)致數(shù)據(jù)字典和SegmentHeader的DATA_OBJECT_ID與后續(xù)的數(shù)據(jù)塊中的不一致,ORACLE服務(wù)進(jìn)程在讀取全表數(shù)據(jù)時(shí)就不會(huì)讀取到已經(jīng)被TRUNCATE的記錄,實(shí)際數(shù)據(jù)其實(shí)并沒(méi)有被覆蓋。
Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)過(guò)程:
為了保護(hù)用戶隱私和數(shù)據(jù)安全,我們沒(méi)有將恢復(fù)該oracle數(shù)據(jù)庫(kù)數(shù)據(jù)的過(guò)程演示出來(lái),北亞企安數(shù)據(jù)恢復(fù)工程師還原了和該案例相同的oracle故障環(huán)境,用來(lái)演示如何恢復(fù)Oracle數(shù)據(jù)庫(kù)Truncate數(shù)據(jù)。
1、通過(guò)Scott用戶創(chuàng)建表emp1,連續(xù)復(fù)制emp表多次,總記錄數(shù)為7340032條。truncate表emp1,之后沒(méi)有進(jìn)行任何增刪改的操作。經(jīng)過(guò)查詢(xún),Oracle數(shù)據(jù)庫(kù)中表emp1的記錄為0條。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)
2、分析system表空間文件,找到truncate表(表emp1)的原始數(shù)據(jù)所在的位置。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)
3、解析表emp1所在的數(shù)據(jù)文件,找到truncate的數(shù)據(jù)。
4、將truncate的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。
Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)結(jié)果:
解析system01.dbf文件,找到truncate的數(shù)據(jù)所在的位置,找到被刪除的數(shù)據(jù)。解析truncate表所在的數(shù)據(jù)文件,將truncate的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中。
這時(shí)在oracle數(shù)據(jù)庫(kù)中查找被truncate的表,發(fā)現(xiàn)數(shù)據(jù)已經(jīng)回來(lái)了,備份數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)
Exp導(dǎo)出scott用戶。
北亞企安數(shù)據(jù)恢復(fù)——Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
585瀏覽量
17630 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3846瀏覽量
64685
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
SqlServer數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)案例
![SqlServer<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file1.elecfans.com/web2/M00/AD/00/wKgZomU_TAiAULRtAAEKTBEQ2Pg592.png)
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫(kù)表記錄丟失的數(shù)據(jù)恢復(fù)流程
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Mysql<b class='flag-5'>數(shù)據(jù)庫(kù)</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>流程](https://file.elecfans.com/web2/M00/7B/26/pYYBAGNzCiiANj77AAH4iOB3xKM259.png)
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—ORACLE常見(jiàn)故障的數(shù)據(jù)恢復(fù)可行性分析
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—通過(guò)拼接數(shù)據(jù)庫(kù)碎片恢復(fù)SQLserver數(shù)據(jù)庫(kù)
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—通過(guò)拼接<b class='flag-5'>數(shù)據(jù)庫(kù)</b>碎片<b class='flag-5'>恢復(fù)</b>SQLserver<b class='flag-5'>數(shù)據(jù)庫(kù)</b>](https://file1.elecfans.com/web1/M00/F4/07/wKgaoWcjE32AbQdWAAJD_hojvJc119.png)
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Oracle ASM實(shí)例無(wú)法掛載的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b> ASM實(shí)例無(wú)法掛載的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file.elecfans.com/web2/M00/6D/03/pYYBAGMxGQOAIdT9AAEmCgX8OAo311.png)
oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫(kù)打開(kāi)報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>打開(kāi)報(bào)錯(cuò)的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file1.elecfans.com/web2/M00/8F/05/wKgZomTLUp-AEdgqAAJwnPCXKpg284.png)
Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫(kù)啟庫(kù)報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—異常斷電后<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>啟<b class='flag-5'>庫(kù)</b>報(bào)錯(cuò)的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file1.elecfans.com/web2/M00/08/B8/wKgZomb6Ns-AbiICAAFlXAFpKKU086.png)
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫(kù)文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>文件system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file1.elecfans.com//web2/M00/06/BC/wKgZombqY1-AbIlmAAA0fq5EyZY308.jpg)
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SQL Server<b class='flag-5'>數(shù)據(jù)庫(kù)</b>出現(xiàn)823錯(cuò)誤的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file1.elecfans.com/web2/M00/07/F4/wKgaombs78mANJ1GAAPeSoXHVPE244.png)
Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫(kù)delete刪除的數(shù)據(jù)恢復(fù)方法
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫(kù)底層File Record被截?cái)酁?的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫(kù)</b>底層File Record被截?cái)酁?的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file.elecfans.com/web2/M00/AD/92/pYYBAGSRTBOAJcT3AATg2PM85Ok126.png)
Oracle數(shù)據(jù)恢復(fù)—Oracle刪除數(shù)據(jù)不用怕!這些數(shù)據(jù)恢復(fù)方法了解一下
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)所在分區(qū)空間不足報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—raid5陣列上層Sql Server<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file.elecfans.com/web2/M00/A2/AD/pYYBAGRLbSSAHhFWAAI9vWNRQec919.png)
Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫(kù)誤truncate表的數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>誤<b class='flag-5'>truncate</b>表的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例](https://file.elecfans.com/web2/M00/9A/D7/pYYBAGQdHS6AJ5uRAAIvhiclg9s075.png)
評(píng)論