问题描述
客户的数据库崩溃,被强制打开后,使用数据泵导出出现ORA-600(kcbz_check_objd_typ_3)错误。
以前碰到过一个ORA-600(kcbz_check_objd_typ_3)错误,是由于客户利用不同版本软件创建了控制文件,尝试打开数据库所致。详情可以参考:http://yangtingkun.itpub.net/post/468/517661
这次的情况其实有类似的地方,客户的数据库出现ORA-600(4000)的错误,被我们强制打开后,肯定数据字典存在不一致的情况。
导出时详细错误信息如下:
[oracle] % expdp system/manager directory=d_output dumpfile=full_bk_2011123101.dmp FULL=y logfile=full_bk_2011123101.log parallel=4 Export: Release 10.2.0.1.0 - 64bit Production ON 星期六, 31 12月, 2011 23:02:46 Copyright (c) 2003, 2005, Oracle. ALL rights reserved. 连接到: Oracle DATABASE 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production WITH the Partitioning, OLAP AND DATA Mining options 启动 "SYSTEM"."SYS_EXPORT_FULL_48": system/******** directory=d_output dumpfile=full_bk_2011123101.dmp full=y logfile=full_bk_2011123101.log parallel=4 正在使用 BLOCKS 方法进行估计... 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA ORA-39014: 一个或多个 worker 进程已过早地退出。 ORA-39029: worker 进程 1 (进程名为 "DW03") 过早地终止 ORA-31671: Worker 进程 DW03 有未处理的异常错误。 ORA-00600: 内部错误代码, 参数: [kcbz_check_objd_typ_3], [8], [0], [32], [], [], [], [] ORA-06512: 在 "SYS.KUPW$WORKER", line 1345 ORA-06512: 在 line 2 作业 "SYSTEM"."SYS_EXPORT_FULL_48" 因致命错误于 23:46:43 停止
专家解答
首先排除并行的问题,尝试去掉PARALLEL进行导出:
[oracle] % expdp system/manager directory=d_output dumpfile=full_bk_2011123101.dmp full=y logfile=full_bk_2011123101.log
Export: Release 10.2.0.1.0 – 64bit Production on 星期六, 31 12月, 2011 23:59:23
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
With the Partitioning, OLAP and Data Mining options
启动 “SYSTEM”.”SYS_EXPORT_FULL_49″: system/******** directory=d_output dumpfile=full_bk_2011123101.dmp full=y logfile=full_bk_2011123101.log
正在使用 BLOCKS 方法进行估计…
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 1 (进程名为 “DW01”) 过早地终止
ORA-31671: Worker 进程 DW01 有未处理的异常错误。
ORA-00600: 内部错误代码, 参数: [kcbz_check_objd_typ_3], [8], [0], [32], [], [], [], []
ORA-06512: 在 “SYS.KUPW$WORKER”, line 1345
ORA-06512: 在 line 2
作业 “SYSTEM”.”SYS_EXPORT_FULL_49″ 因致命错误于 00:30:10 停止
看来对于强制打开的这种源数据受损的数据库,数据泵还是都到影响的。尝试使用EXP导出数据库,错误不再出现。看来在极端的情况下,还是最简单的方法最有效。