1. 程式人生 > >資料庫通過資料泵由10.2.0.5到11.2.0.4遭遇ORA-39126、ORA-01555

資料庫通過資料泵由10.2.0.5到11.2.0.4遭遇ORA-39126、ORA-01555

資料庫由10g(10.2.0.5)庫expdp匯出,到11g(11.2.0.4)庫匯入,匯入分割槽表時報錯

ORA-39126: Worker unexpected fatal error in KUPW$WORKER.MOVE_DATA [TABLE_DATA:"KTACTWEB"."LOG_PARTITION":"LOG_20080826"]
SELECT flags, NVL(target_xml_clob,xml_clob) FROM "SYSTEM"."SYS_IMPORT_SCHEMA_01" WHERE  process_order = :1
ORA-01555: snapshot too old: rollback segment number  with name "" too small
ORA-22924: snapshot too old
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 9721
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x76ec08b38     21979  package body SYS.KUPW$WORKER
0x76ec08b38      9742  package body SYS.KUPW$WORKER
0x76ec08b38     16536  package body SYS.KUPW$WORKER
0x76ec08b38      4549  package body SYS.KUPW$WORKER
0x76ec08b38     10464  package body SYS.KUPW$WORKER
0x76ec08b38      1824  package body SYS.KUPW$WORKER
0x772904d70         2  anonymous block

開始以為undo不夠用,添加了幾個資料檔案依然報錯,檢查dumpfile檔案,發現該dump檔案並不大,因此斷定不是表面上顯示的undo不夠用。查詢mos發現文章ID 1628103.1 比較符合

閱讀mos後,發現需要打一個one-off補丁解決Bug# 18082965 。補丁是一個通用平臺補丁,可以在我的blog中找到。裡面的readme.txt記錄詳細的方法。打完後,完成10g到11g庫的impdp匯入工作。

補丁包下載地址 http://download.csdn.net/download/huoshuyinhua/10246015