impdp匯入時ORA-39125

來源:互聯網
上載者:User

背景:
 
最近在搞資料移轉,從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('')"

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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.