某省GA 30TB数据库恢复记录

栏目: 数据库 · 发布时间: 5年前

内容简介:本站文章除注明转载外,均为本站原创:转载自本文链接地址:前不久某省GA的由于存储掉电导致多套数据库无法启动,其中恢复某套大库时遇到了一些新的问题,之前从来没有遇到过。经过一番抢救之后,数据库终于打开了,但是无法进行任何DDL操作,创建测试表报错:

本站文章除注明转载外,均为本站原创:转载自 love wife & love life —Roger的Oracle&MySQL技术博客

本文链接地址: 某省GA 30TB数据库恢复记录

前不久某省GA的由于存储掉电导致多套数据库无法启动,其中恢复某套大库时遇到了一些新的问题,之前从来没有遇到过。经过一番抢救之后,数据库终于打开了,但是无法进行任何DDL操作,创建测试表报错:

SQL> create table test110 as select * from dba_objects where rownum <10;
create table test110 as select * from dba_objects where rownum <10
                                      *
ERROR at line 1:
ORA-00600: internal error code, arguments: [kqd-objerror$], [U], [2], [107],
[PG_TJBB_DTZH], [], [], [], [], [], [], []

这个错误之前很少见到。我们跑一下Oracle 官方提供的hcheck脚本,检查了一下数据库中的数据字典情况,发现确实存在一些不一致的问题,如下:

				   Catalog	 Fixed
Procedure Name			   Version    Vs Release    Timestamp	   Result
------------------------------ ... ---------- -- ---------- -------------- ------
.- LobNotInObj		       ... 1102000400 <=  *All Rel* 06/06 08:05:19 PASS
.- MissingOIDOnObjCol	       ... 1102000400 <=  *All Rel* 06/06 08:05:19 PASS
.- SourceNotInObj	       ... 1102000400 <=  *All Rel* 06/06 08:05:19 PASS
.- OversizedFiles	       ... 1102000400 <=  *All Rel* 06/06 08:05:41 PASS
.- PoorDefaultStorage	       ... 1102000400 <=  *All Rel* 06/06 08:05:42 PASS
.- PoorStorage		       ... 1102000400 <=  *All Rel* 06/06 08:05:42 PASS
.- TabPartCountMismatch        ... 1102000400 <=  *All Rel* 06/06 08:05:42 PASS
.- OrphanedTabComPart	       ... 1102000400 <=  *All Rel* 06/06 08:05:42 PASS
.- MissingSum$		       ... 1102000400 <=  *All Rel* 06/06 08:05:42 PASS
.- MissingDir$		       ... 1102000400 <=  *All Rel* 06/06 08:05:42 PASS
.- DuplicateDataobj	       ... 1102000400 <=  *All Rel* 06/06 08:05:42 FAIL
 
HCKE-0014: Duplicate dataobj# (Doc ID 1360519.1)
DATAOBJ#=378264 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_MH_DWXXGLB_190603 Type=TABLE
DATAOBJ#=378264 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_MH_DWXXGLB_190603 Type=TABLE
DATAOBJ#=378265 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_MH_STYSB_190603 Type=TABLE
DATAOBJ#=378265 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_MH_STYSB_190603 Type=TABLE
DATAOBJ#=378266 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_SAVECOLUMNINFO_190603 Type=TABLE
DATAOBJ#=378266 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_SAVECOLUMNINFO_190603 Type=TABLE
DATAOBJ#=378283 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_YH_DWXX_190603 Type=TABLE
DATAOBJ#=378283 Tablespace=TBSCRJ_DATA_2 Name=CRJBKU.D_YH_DWXX_190603 Type=TABLE
 
.- ObjSynMissing	       ... 1102000400 <=  *All Rel* 06/06 08:05:44 PASS
.- ObjSeqMissing	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedUndo 	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedIndex	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 FAIL
 
HCKE-0016: Orphaned IND$ (no SEG$) (Doc ID 1360531.1)
ORPHAN IND$: OBJ=378298 DOBJ=378298 TS=59 RFILE/BLOCK=59/3827354 INDEX=CRJBKU.SYS_IL0000378296C00004$$ OF TABLE=CRJBKU.D_YH_XP_190603 BO#=378296
ORPHAN IND$: OBJ=378301 DOBJ=378301 TS=59 RFILE/BLOCK=236/1244970 INDEX=CRJBKU.SYS_IL0000378299C00009$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378303 DOBJ=378303 TS=59 RFILE/BLOCK=236/1244986 INDEX=CRJBKU.SYS_IL0000378299C00010$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378305 DOBJ=378305 TS=59 RFILE/BLOCK=236/1245002 INDEX=CRJBKU.SYS_IL0000378299C00013$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378307 DOBJ=378307 TS=59 RFILE/BLOCK=236/1245018 INDEX=CRJBKU.SYS_IL0000378299C00023$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378309 DOBJ=378309 TS=59 RFILE/BLOCK=236/1245034 INDEX=CRJBKU.SYS_IL0000378299C00024$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378311 DOBJ=378311 TS=59 RFILE/BLOCK=236/1245050 INDEX=CRJBKU.SYS_IL0000378299C00025$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378313 DOBJ=378313 TS=59 RFILE/BLOCK=236/1249290 INDEX=CRJBKU.SYS_IL0000378299C00031$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
ORPHAN IND$: OBJ=378315 DOBJ=378315 TS=59 RFILE/BLOCK=236/1249306 INDEX=CRJBKU.SYS_IL0000378299C00032$$ OF TABLE=CRJBKU.D_YH_ZW_190603 BO#=378299
 
.- OrphanedIndexPartition      ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedIndexSubPartition   ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedTable	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedTablePartition      ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedTableSubPartition   ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- MissingPartCol	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- OrphanedSeg$ 	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 FAIL
 
HCKE-0023: Orphaned SEG$ Entry (Doc ID 1360934.1)
ORPHAN SEG$: SegType=TYPE2 UNDO TS=2 RFILE/BLOCK=109/352
ORPHAN SEG$: SegType=TYPE2 UNDO TS=2 RFILE/BLOCK=109/304
 
.- OrphanedIndPartObj#	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- DuplicateBlockUse	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- FetUet		       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- Uet0Check		       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- SeglessUET		       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- BadInd$		       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- BadTab$		       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- BadIcolDepCnt	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- ObjIndDobj		       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- TrgAfterUpgrade	       ... 1102000400 <=  *All Rel* 06/06 08:05:46 PASS
.- ObjType0		       ... 1102000400 <=  *All Rel* 06/06 08:05:47 PASS
.- BadOwner		       ... 1102000400 <=  *All Rel* 06/06 08:05:47 PASS
.- StmtAuditOnCommit	       ... 1102000400 <=  *All Rel* 06/06 08:05:47 PASS
.- BadPublicObjects	       ... 1102000400 <=  *All Rel* 06/06 08:05:47 PASS
.- BadSegFreelist	       ... 1102000400 <=  *All Rel* 06/06 08:05:47 PASS
.- BadDepends		       ... 1102000400 <=  *All Rel* 06/06 08:05:47 PASS
.- CheckDual		       ... 1102000400 <=  *All Rel* 06/06 08:05:48 PASS
.- ObjectNames		       ... 1102000400 <=  *All Rel* 06/06 08:05:48 PASS
.- BadCboHiLo		       ... 1102000400 <=  *All Rel* 06/06 08:05:49 PASS
.- ChkIotTs		       ... 1102000400 <=  *All Rel* 06/06 08:05:52 PASS
.- NoSegmentIndex	       ... 1102000400 <=  *All Rel* 06/06 08:05:52 PASS
.- BadNextObject	       ... 1102000400 <=  *All Rel* 06/06 08:05:53 PASS
.- DroppedROTS		       ... 1102000400 <=  *All Rel* 06/06 08:05:53 PASS
.- FilBlkZero		       ... 1102000400 <=  *All Rel* 06/06 08:05:53 PASS
.- DbmsSchemaCopy	       ... 1102000400 <=  *All Rel* 06/06 08:05:53 PASS
.- OrphanedObjError	       ... 1102000400 >  1102000000 06/06 08:05:53 PASS
.- ObjNotLob		       ... 1102000400 <=  *All Rel* 06/06 08:05:53 PASS
.- MaxControlfSeq	       ... 1102000400 <=  *All Rel* 06/06 08:05:53 PASS
.- SegNotInDeferredStg	       ... 1102000400 >  1102000000 06/06 08:05:55 PASS
.- SystemNotRfile1	       ... 1102000400 >   902000000 06/06 08:05:56 PASS
.- DictOwnNonDefaultSYSTEM     ... 1102000400 <=  *All Rel* 06/06 08:05:56 PASS
.- OrphanTrigger	       ... 1102000400 <=  *All Rel* 06/06 08:05:56 PASS
.- ObjNotTrigger	       ... 1102000400 <=  *All Rel* 06/06 08:05:56 PASS
---------------------------------------
06-JUN-2019 08:05:56  Elapsed: 38 secs
---------------------------------------
Found 19 potential problem(s) and 0 warning(s)
Contact Oracle Support with the output and trace file
to check if the above needs attention or not

我们可以看到数据字典确实有问题,比如ind$。针对这个问题有2种基本处理方式,可以参考官方的文档,分别时补充sys.objerror$的记录和删除记录(当然是针对不同的情况)。

我这里通过类似的方法处理后,可以顺利删除上述异常的一些对象(经客户确认数据可以丢弃,我们备份表结构后删除即可)。

整个恢复其实不复制,主要是前期无法远程,导致进展很慢,简单记录一下。


以上所述就是小编给大家介绍的《某省GA 30TB数据库恢复记录》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web开发敏捷之道

Web开发敏捷之道

Sam Ruby、Dave Thomas、David Heineme Hansson / 慕尼黑Isar工作组、骆古道 / 机械工业出版社 / 2012-3-15 / 59.00元

本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前3版的内容架构基础上,第4版增加了关于Rails中新特性和最佳实践的内容。本书从逐步创建一个真正的应用程序开始,然后介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式创建应用程序,然后依据敏捷开发模式搭建测试案例,最终用Capistrano完成......一起来看看 《Web开发敏捷之道》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具