【expdp】数据泵备份遭遇ORA-00600: internal error code, arguments: [17020]错误

  今天在使用expdp工具备份数据的过程中遇见了比较难得的ORA-00600错误。由于数据泵导致600错误的例子并不是很多见。
简单看一下这个报错内容,供参考。

1.报错现象
secdb@secdb /db_backup/dpump_dir$ sh iata_boms_exp_isis.sh

Export: Release 10.2.0.3.0 - 64bit Production on Mon Apr 18 21:55:58 2011

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters and Data Mining options
Starting "IATA_BOMS"."SYS_EXPORT_SCHEMA_01":  user_secooler/******** directory=dpump_dir dumpfile=user_secooler_exp_isis.dmp logfile=user_secooler_exp_isis.log parfile=expdp_user_secooler.par
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 3.125 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
ORA-39097: Data Pump job encountered unexpected error -600
ORA-39065: unexpected master process exception in DISPATCH
ORA-00600: internal error code, arguments: [17020], [0x271D12148], [], [], [], [], [], []
ORA-06512: at "SYS.KUPC$QUE_INT", line 895
ORA-01460: unimplemented or unreasonable conversion requested

ORA-39097: Data Pump job encountered unexpected error -600

UDE-00008: operation generated ORACLE error 31626
ORA-31626: job does not exist
ORA-39086: cannot retrieve job information
ORA-06512: at "SYS.DBMS_DATAPUMP", line 2745
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3712
ORA-06512: at line 1

secdb@secdb /db_backup/dpump_dir$

2.问题原因
关于这个问题可以在MOS中的文章“ORA-00600 [17020] During Datapump Export/Import [ID 460936.1]”得到相关参考。
这是由于在数据泵导出数据时触发了Oracle Bug 4334700导致的。文中提到,该问题直到11g版本时才被修复。
更多信息可以参考MOS的Bug描述“Bug 4334700: sbe_server doesn't shows any symbols after changing directory”。

3.处理方法
针对这个问题有两种处理方法。
1)安装补丁或者升级数据库到11g,这个动作貌似有点夸张。

2)“鸵鸟策略”--不管不问
由于这个故障不是很轻易遇到,往往重新尝试数据导出后便会消失。

我这里就是采用了这种方法。暂时对这个错误视而不见。

4.小结
很多情况下600错误来势汹汹,后果惨重。然而个别情况下会有惊无险,本文提到的问题便是这种。
毕竟对于生产环境对其打补丁或者升级都是非常大的动作,一定要慎重。

Good luck.

secooler
11.04.18

-- The End --

请使用浏览器的分享功能分享到微信等