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('')"

至於爲什麼這樣改我也沒搞清楚,還望高手指點



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章