>데이터 베이스 >MySQL 튜토리얼 >impdp导入时ORA-39125

impdp导入时ORA-39125

WBOY
WBOY원래의
2016-06-07 16:48:241388검색

最近在搞数据迁移,从A库的U1用户迁移到B库的U2用户,用了开源的kettle配合数据泵,测试时都没什么问题,但是真正上线了,居然当

背景:
 
最近在搞数据迁移,从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('')"

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

本文永久更新链接地址:

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.