dul无法加载bootstrap实现unload table/user恢复
联系:手机(+8613429648788)QQ(107644445)QQ咨询惜分飞
标题:dul无法加载bootstrap实现unloadtable/user恢复
作者:惜分飞
最近有朋友误操作引起了非常大的事故,差点吃了官司.在做数据库迁移的时候,远程误操作删除了原库的system等几个数据库初始安装的文件,而且该磁盘空间使用率非常高,还有少量写入.
最后结果比较悲剧,通过文件系统层面无法直接恢复出来数据文件,而且该库无任何有效备份,又没有表名,列名等信息,无奈之下只能通过底层ioblock重组来恢复数据文件,可是悲剧又一次发生,这个磁盘上以前也有一份system等文件,最后经过多方重组恢复出来一份相对理想的数据文件.
但是第三方公司通过这样重组出来的数据文件和未被删除的业务文件恢复出来的数据大量有问题,依旧需要我们进一步分析恢复处理.
这篇文章主要描述了dul在无法加载bootstrap命令之后通过一些方法依旧可以正常使用unloadtable/user等命令实现数据尽可能恢复.你要知道几百张表没有表名/列名要把他们区分出来那是什么样的工作量……
在dul中配置system文件
D:\xifenfei\system01.dbf D:\TEMP\recover\dul\bak>dul DataUnLoader:11.2.0.0.4-InternalOnly-onWedSep2817:01:562016 with64-bitiofunctions Copyright(c)19942016BernardvanDuijnenAllrightsreserved. StrictlyOracleInternalUseOnly DUL>showdatafiles; Sorry,novaliddatafilesfoundincontrol.txt
使用默认的dul中数据文件配置方法,让dul自己发现数据文件方法不可行
随意表空间号和文件号dul识别
00D:\xifenfei\system01.dbf D:\TEMP\recover\dul\bak>dul DataUnLoader:11.2.0.0.4-InternalOnly-onWedSep2817:00:272016 with64-bitiofunctions Copyright(c)19942016BernardvanDuijnenAllrightsreserved. StrictlyOracleInternalUseOnly DUL:Warning:FileTypemismatch1!=8 DUL:Warning:D:\xifenfei\system01.dbfHeadertablespacenumber3 !=0 DUL:Warning:D:\xifenfei\system01.dbfHeaderrelativefilenumber1!=0 Founddb_id=2948357999 Founddb_name=XIFENFEI DUL:Warning:FoundmismatchwhilecheckingfileD:\xifenfei\system01.dbf DUL:Warning:DULosd_parameterorcontrol.dulconfigurationerror DUL:Warning:Givenfilenumber(0)incontrolfiledoesnotmatchfile#indba(1)
通过这个识别我们可以知道system的表空间号为3,文件号为1
再次配置system让dul识别
31D:\xifenfei\system01.dbf D:\TEMP\recover\dul\bak>dul DataUnLoader:11.2.0.0.4-InternalOnly-onWedSep2817:03:462016 with64-bitiofunctions Copyright(c)19942016BernardvanDuijnenAllrightsreserved. StrictlyOracleInternalUseOnly DUL:Warning:FileTypemismatch1!=8 Founddb_id=2948357999 Founddb_name=XIFENFEI DUL>showdatafiles; ts#rf#startblocksoffsopenerrfilename 310320257010D:\xifenfei\system01.dbf
dul正常识别出来system文件但是根据经验我们知道tablespace3肯定是有问题的,因此后续操作依旧问题非常多
尝试dulbootstrap恢复失败
DUL>bootstrap; ScanningSYSTEMtablespacetolocatecompatibilitysegment... DUL:Warning:Nofilesfoundfortablespace0 ReadingEXT.dat0entriesloadedandsorted0entries ReadingSEG.dat0entriesloaded ReadingCOMPATSEG.dat0entriesloaded ReadingSCANNEDLOBPAGE.dat0entriesloadedandsorted0entries DUL:Error:Nocompatibilitysegmentsfound
由于表空间号错误,dul无法加载到bootstrap$表,另外根据bbed分析恢复出来的system文件中bootstrap$这部分丢失
尝试人工加载dul所需数据字典
DUL>unloadtableOBJ$ 2storage(tablespace3segobjno18file1block240); .unloadingtableOBJ$79074rowsunloaded DUL>unloadtableTAB$(OBJ#number,DATAOBJ#number, 2clusterC_OBJ#(OBJ#) 3storage(tablespace3segobjno2tabno1file1block144); .unloadingtableTAB$4482rowsunloaded DUL>unloadtableCOL$(OBJ#number,COL#number,SEGCOL#number, 2clusterC_OBJ#(OBJ#) 3storage(tablespace3segobjno2tabno5file1block144); .unloadingtableCOL$114491rowsunloaded DUL>unloadtableUSER$ 2clusterC_USER#(USER#) 3storage(tablespace3segobjno10tabno1file1block208); .unloadingtableUSER$96rowsunloaded ----其他表省略,根据需要的依次处理 尝试使用dul恢复数据 DUL>descportal_emr.BASEELEMENT; TablePORTAL_EMR.BASEELEMENT obj#=87200,dataobj#=87200,ts#=9,file#=7,block#=458 tab#=0,segcols=8,clucols=0 Columninformation: icol#01segcol#01BENAMElen30type1VARCHAR2cs852(ZHS16GBK) icol#02segcol#02TYPENAMElen30type1VARCHAR2cs852(ZHS16GBK) icol#03segcol#03TYPETYPElen22type2NUMBER(0,0) icol#04segcol#04BEXMLTEXTlen4000type1VARCHAR2cs852(ZHS16GBK) icol#05segcol#05DEPTGROUPCODElen30type1VARCHAR2cs852(ZHS16GBK) icol#06segcol#06ISCOMMONlen22type2NUMBER(0,0) icol#07segcol#07BESPELLlen15type1VARCHAR2cs852(ZHS16GBK) icol#08segcol#08ELEMTYPElen22type2NUMBER(0) DUL>showdatafiles; ts#rf#startblocksoffsopenerrfilename 310320257010D:\xifenfei\system01.dbf 9704170425010D:\BaiduYunDownload\PORTAL_EMR DUL>unloadtableportal_emr.BASEELEMENT; .unloadingtableBASEELEMENT1913rowsunloaded
这里描述了在dul无法加载bootstrap命令之后,通过人工加载数据字典实现正常的unloadtable/user功能,丢弃了一般处理思路中的只能通过scan然后unload没有表名,列名的处理方法,从而实现了恢复的最大化.
我们对原厂官方oracledual工具有深入研究,如果在oracledul恢复方面有搞不定的问题.
请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:13429648788QQ:107644445E-Mail:dba@xifenfei.com
以上所述是小编给大家介绍的dul无法加载bootstrap实现unloadtable/user恢复,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!