oracle ora39168,impdp导入时ORA-39125

背景:

最近在搞数据迁移,从A库的U1用户迁移到B库的U2用户,用了开源的kettle配合数据泵,测试时都没什么问题,但是真正上线了,居然当天凌晨卡死在那边。第二天定位时发现是impdp一直卡在那,但也没看到日志中报什么错。后来用小数量做了个测试,终于看到错误了。错误内容大致如下:

ORA-39125: 在KUPW$WORKER.PUT_DDLS 中 Worker 发生意外的致命错误 (在调用 DBMS_METADATA.CONVERT [] 时)

ORA-06502: PL/SQL: 数字或值错误

LPX-00225: end-element tag "HIST_GRAM_LIST_ITEM" does not match start-element tag "EPVALUE"

ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: 在 "SYS.KUPW$WORKER", line 6228

作业 "NM01"."SYS_IMPORT_SCHEMA_01" 因致命错误于 09:48:10 停止

有错误就好办了,从网上找到相关解释:

发现这个问题是Oracle的一个BUG,BUG号为5071931。

可以有两种方式解决这个问题:

1. 给IMPDP增加一个参数,EXCLUDE=STATISTICS,这个方法要求你在导入之后,再手工导入statistics

2. Deploy patch 5071931或者将Oracle升级到10.2.0.4

解决:

1、我确实查询了一下我的数据库版本是

SQL> select version from v$instance;

VERSION

-----------------

10.2.0.1.0

2、我没有采用打补丁的方法,而是采用第一种方法,在每个parfile文件中加入了如下命令:

EXCLUDE=STATISTICS

至此问题解决

后记:

需要注意parfile文件中加入了EXCLUDE=STATISTICS有时在导入时也会报:

ORA-39002: invalid operation

ORA-39168: Object path STATISTICS was not found.

解决方法:

EXCLUDE=STATISTICS:"in('')"

至于为什么这样改我也没搞清楚,还望高手指点

0b1331709591d260c1c78e86d0c51c18.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值