Oracle數據泵導入時遇bug記錄


一張表,20多萬數據卻遇到了問題。 
關鍵報錯: 
ORA-39097 ORA-39065 ORA-01427 ORA-39126 ORA-06502 LPX-00225 


導入語句: 
impdp "'/as sysdba'" directory=DATA_PUMP_DIR dumpfile=NCHATTAG1.dmp logfile=TAG1_bak.log   



log如下: 

Import: Release 11.2.0.4.0 - Production on Tue Dec 24 15:59:30 2019 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved. 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 
With the Partitioning, Oracle Label Security, OLAP, Data Mining, 
Oracle Database Vault and Real Application Testing options 
Master table "SYS"."SYS_IMPORT_FULL_02" successfully loaded/unloaded 
Starting "SYS"."SYS_IMPORT_FULL_02":  "/******** AS SYSDBA" directory=DATA_PUMP_DIR dumpfile=NCHATTAG1.dmp logfile=TAG1_bak.log 
Processing object type TABLE_EXPORT/TABLE/TABLE 
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA 
. . imported "NCHATTAG1"."MESSAGE"                       68.48 MB  205729 rows 
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT 
ORA-39083: Object type OBJECT_GRANT failed to create with error: 
ORA-01917: user or role 'P_WANGYP_R' does not exist 
Failing sql is: 
GRANT SELECT ON "NCHATTAG1"."MESSAGE" TO "P_WANGYP_R" 
ORA-39083: Object type OBJECT_GRANT failed to create with error: 
ORA-01917: user or role 'R_NCHATTAG1_READER' does not exist 
Failing sql is: 
GRANT SELECT ON "NCHATTAG1"."MESSAGE" TO "R_NCHATTAG1_READER" 
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX 
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS [TABLE_STATISTICS] 
ORA-06502: PL/SQL: numeric or value error 
LPX-00225: end-element tag "HIST_GRAM_LIST_ITEM" does not match start-element tag "EPVALUE" 

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 
ORA-06512: at "SYS.KUPW$WORKER", line 9715 

----- PL/SQL Call Stack ----- 
  object      line  object 
  handle    number  name 
0x62926f00     21979  package body SYS.KUPW$WORKER 
0x62926f00      9742  package body SYS.KUPW$WORKER 
0x62926f00     17950  package body SYS.KUPW$WORKER 
0x62926f00      4058  package body SYS.KUPW$WORKER 
0x62926f00     10450  package body SYS.KUPW$WORKER 
0x62926f00      1824  package body SYS.KUPW$WORKER 
0x67897468         2  anonymous block 

ORA-39097: Data Pump job encountered unexpected error -1427 
ORA-39065: unexpected master process exception in DISPATCH 
ORA-01427: single-row subquery returns more than one row 

Job "SYS"."SYS_IMPORT_FULL_02" stopped due to fatal error at Tue Dec 24 16:00:01 2019 elapsed 0 00:00:30 

可以看到dw進程在處理表的統計信息時,在處理直方圖信息的時候出現了錯誤,在源端查詢表上確實有直方圖。這種內部處理過程出現無法正確處理的情況,可以認為是oracle的bug。解決辦法也簡單,繞過統計信息即可: 
impdp "'/as sysdba'" directory=DATA_PUMP_DIR dumpfile=NCHATTAG1.dmp logfile=TAG1_bak.log table_exists_action=replace EXCLUDE=STATISTICS 
無報錯成功導入。 

手動收集統計信息: 
oracle@bd-dev-oracle-104:/opt/app/oracle/diag/rdbms/bdcfg/BDCFG/trace$ora ant NCHATTAG1 message 
\n=============Tue Dec 24 16:54:43 CST 2019===================\n 
exec DBMS_STATS.GATHER_TABLE_STATS(ownname=>'NCHATTAG1',tabname=>'message',estimate_percent=>10,no_invalidate=>false,cascade=>true,degree => 10); 
Can you confirm?[y/n] 



事后去mos上搜索了一下,可以參考文檔 ID 878626.1 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM