dul無(wú)法加載bootstrap實(shí)現(xiàn)unload table/user恢復(fù)
聯(lián)系:手機(jī)(+86 13429648788) QQ(107644445)QQ咨詢(xún)惜分飛
標(biāo)題:dul無(wú)法加載bootstrap實(shí)現(xiàn)unload table/user恢復(fù)
作者:惜分飛
最近有朋友誤操作引起了非常大的事故,差點(diǎn)吃了官司.在做數(shù)據(jù)庫(kù)遷移的時(shí)候,遠(yuǎn)程誤操作刪除了原庫(kù)的system等幾個(gè)數(shù)據(jù)庫(kù)初始安裝的文件,而且該磁盤(pán)空間使用率非常高,還有少量寫(xiě)入.
最后結(jié)果比較悲劇,通過(guò)文件系統(tǒng)層面無(wú)法直接恢復(fù)出來(lái)數(shù)據(jù)文件,而且該庫(kù)無(wú)任何有效備份,又沒(méi)有表名,列名等信息,無(wú)奈之下只能通過(guò)底層io block重組來(lái)恢復(fù)數(shù)據(jù)文件,可是悲劇又一次發(fā)生,這個(gè)磁盤(pán)上以前也有一份system等文件,最后經(jīng)過(guò)多方重組恢復(fù)出來(lái)一份相對(duì)理想的數(shù)據(jù)文件.
但是第三方公司通過(guò)這樣重組出來(lái)的數(shù)據(jù)文件和未被刪除的業(yè)務(wù)文件恢復(fù)出來(lái)的數(shù)據(jù)大量有問(wèn)題,依舊需要我們進(jìn)一步分析恢復(fù)處理.
這篇文章主要描述了dul在無(wú)法加載bootstrap命令之后通過(guò)一些方法依舊可以正常使用unload table/user 等命令實(shí)現(xiàn)數(shù)據(jù)盡可能恢復(fù).你要知道幾百?gòu)埍頉](méi)有表名/列名要把他們區(qū)分出來(lái)那是什么樣的工作量……
在dul中配置system文件
D:\xifenfei\system01.dbf D:\TEMP\recover\dul\bak>dul Data UnLoader: 11.2.0.0.4 - Internal Only - on Wed Sep 28 17:01:56 2016 with 64-bit io functions Copyright (c) 1994 2016 Bernard van Duijnen All rights reserved. Strictly Oracle Internal Use Only DUL> show datafiles; Sorry, no valid data files found in control.txt
使用默認(rèn)的dul中數(shù)據(jù)文件配置方法,讓dul自己發(fā)現(xiàn)數(shù)據(jù)文件方法不可行
隨意表空間號(hào)和文件號(hào)dul識(shí)別
0 0 D:\xifenfei\system01.dbf D:\TEMP\recover\dul\bak>dul Data UnLoader: 11.2.0.0.4 - Internal Only - on Wed Sep 28 17:00:27 2016 with 64-bit io functions Copyright (c) 1994 2016 Bernard van Duijnen All rights reserved. Strictly Oracle Internal Use Only DUL: Warning: File Type mismatch 1 != 8 DUL: Warning: D:\xifenfei\system01.dbf Header tablespace number 3 != 0 DUL: Warning: D:\xifenfei\system01.dbf Header relative file number 1 != 0 Found db_id = 2948357999 Found db_name = XIFENFEI DUL: Warning: Found mismatch while checking file D:\xifenfei\system01.dbf DUL: Warning: DUL osd_parameter or control.dul configuration error DUL: Warning: Given file number(0) in control file does not match file# in dba(1)
通過(guò)這個(gè)識(shí)別我們可以知道system的表空間號(hào)為3,文件號(hào)為1
再次配置system讓dul識(shí)別
3 1 D:\xifenfei\system01.dbf D:\TEMP\recover\dul\bak>dul Data UnLoader: 11.2.0.0.4 - Internal Only - on Wed Sep 28 17:03:46 2016 with 64-bit io functions Copyright (c) 1994 2016 Bernard van Duijnen All rights reserved. Strictly Oracle Internal Use Only DUL: Warning: File Type mismatch 1 != 8 Found db_id = 2948357999 Found db_name = XIFENFEI DUL> show datafiles; ts# rf# start blocks offs open err file name 3 1 0 320257 0 1 0 D:\xifenfei\system01.dbf
dul正常識(shí)別出來(lái)system文件但是根據(jù)經(jīng)驗(yàn)我們知道tablespace 3肯定是有問(wèn)題的,因此后續(xù)操作依舊問(wèn)題非常多
嘗試dul bootstrap恢復(fù)失敗
DUL> bootstrap; Scanning SYSTEM tablespace to locate compatibility segment ... DUL: Warning: No files found for tablespace 0 Reading EXT.dat 0 entries loaded and sorted 0 entries Reading SEG.dat 0 entries loaded Reading COMPATSEG.dat 0 entries loaded Reading SCANNEDLOBPAGE.dat 0 entries loaded and sorted 0 entries DUL: Error: No compatibility segments found
由于表空間號(hào)錯(cuò)誤,dul無(wú)法加載到bootstrap$表,另外根據(jù)bbed分析恢復(fù)出來(lái)的system文件中bootstrap$這部分丟失
嘗試人工加載dul所需數(shù)據(jù)字典
DUL> unload table OBJ$
2 storage ( tablespace 3 segobjno 18 file 1 block 240);
. unloading table OBJ$ 79074 rows unloaded
DUL> unload table TAB$( OBJ# number, DATAOBJ# number,
2 cluster C_OBJ#(OBJ#)
3 storage ( tablespace 3 segobjno 2 tabno 1 file 1 block 144);
. unloading table TAB$ 4482 rows unloaded
DUL> unload table COL$ ( OBJ# number, COL# number , SEGCOL# number,
2 cluster C_OBJ#(OBJ#)
3 storage ( tablespace 3 segobjno 2 tabno 5 file 1 block 144);
. unloading table COL$ 114491 rows unloaded
DUL> unload table USER$
2 cluster C_USER#(USER#)
3 storage ( tablespace 3 segobjno 10 tabno 1 file 1 block 208);
. unloading table USER$ 96 rows unloaded
----其他表省略,根據(jù)需要的依次處理
嘗試使用dul恢復(fù)數(shù)據(jù)
DUL> desc portal_emr.BASEELEMENT;
Table PORTAL_EMR.BASEELEMENT
obj#= 87200, dataobj#= 87200, ts#= 9, file#= 7, block#=458
tab#= 0, segcols= 8, clucols= 0
Column information:
icol# 01 segcol# 01 BENAME len 30 type 1 VARCHAR2 cs 852(ZHS16GBK)
icol# 02 segcol# 02 TYPENAME len 30 type 1 VARCHAR2 cs 852(ZHS16GBK)
icol# 03 segcol# 03 TYPETYPE len 22 type 2 NUMBER(0,0)
icol# 04 segcol# 04 BEXMLTEXT len 4000 type 1 VARCHAR2 cs 852(ZHS16GBK)
icol# 05 segcol# 05 DEPTGROUPCODE len 30 type 1 VARCHAR2 cs 852(ZHS16GBK)
icol# 06 segcol# 06 ISCOMMON len 22 type 2 NUMBER(0,0)
icol# 07 segcol# 07 BESPELL len 15 type 1 VARCHAR2 cs 852(ZHS16GBK)
icol# 08 segcol# 08 ELEMTYPE len 22 type 2 NUMBER(0)
DUL> show datafiles;
ts# rf# start blocks offs open err file name
3 1 0 320257 0 1 0 D:\xifenfei\system01.dbf
9 7 0 4170425 0 1 0 D:\BaiduYunDownload\PORTAL_EMR
DUL> unload table portal_emr.BASEELEMENT;
. unloading table BASEELEMENT 1913 rows unloaded
這里描述了在dul無(wú)法加載bootstrap命令之后,通過(guò)人工加載數(shù)據(jù)字典實(shí)現(xiàn)正常的unload table/user功能,丟棄了一般處理思路中的只能通過(guò)scan 然后unload沒(méi)有表名,列名的處理方法,從而實(shí)現(xiàn)了恢復(fù)的最大化.
我們對(duì)原廠(chǎng)官方oracle dual工具有深入研究,如果在oracle dul恢復(fù)方面有搞不定的問(wèn)題.
請(qǐng)聯(lián)系我們,提供專(zhuān)業(yè)ORACLE數(shù)據(jù)庫(kù)恢復(fù)技術(shù)支持
Phone:13429648788 Q Q:107644445 E-Mail:dba@xifenfei.com
以上所述是小編給大家介紹的dul無(wú)法加載bootstrap實(shí)現(xiàn)unload table/user恢復(fù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
jQuery實(shí)現(xiàn)根據(jù)類(lèi)型自動(dòng)顯示和隱藏表單
這篇文章主要給大家分享了jQuery實(shí)現(xiàn)根據(jù)類(lèi)型自動(dòng)顯示和隱藏表單的代碼,非常的簡(jiǎn)單實(shí)用,僅僅10行代碼,推薦給大家,希望能給大家一些提示。2015-03-03
基于Jquery插件開(kāi)發(fā)之圖片放大鏡效果(仿淘寶)
公司某個(gè)網(wǎng)站,需要實(shí)現(xiàn)圖片預(yù)覽效果,并能像淘寶一樣實(shí)現(xiàn)局部分大,使用jquery的朋友可以參考下。2011-11-11
jquery操作ID帶有變量的節(jié)點(diǎn)實(shí)例
下面小編就為大家?guī)?lái)一篇jquery操作ID帶有變量的節(jié)點(diǎn)實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
關(guān)于JavaScript和jQuery的類(lèi)型判斷詳解
基于jquery插件實(shí)現(xiàn)拖拽刪除圖片功能
jquery應(yīng)用實(shí)例分享_實(shí)現(xiàn)手風(fēng)琴特效

