数据泵导出的 Oracle 错误

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/522634/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 17:46:05  来源:igfitidea点击:

Oracle error with Data pump export

oracleoracle10gora-04063

提问by Joshua

I am getting the following error. It doesn't happen to all the time, but once it starts, it won't stop.

我收到以下错误。它不会一直发生,但一旦开始,它就不会停止。

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
ORA-39125: Worker unexpected fatal error in KUPW$WORKER.GET_TABLE_DATA_OBJECTS while calling DBMS_METADATA.FETCH_XML_CLOB []
ORA-31642: the following SQL statement fails: 
BEGIN "DMSYS"."DBMS_DM_MODEL_EXP".SCHEMA_CALLOUT(:1,0,1,'10.02.00.03.00'); END;
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_METADATA", line 907
ORA-04063: package body "DMSYS.DBMS_DM_IMP_INTERNAL" has errors
ORA-06508: PL/SQL: could not find program unit being called: "DMSYS.DBMS_DM_IMP_INTERNAL"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 6228
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
000007FFA0B608F8     14916  package body SYS.KUPW$WORKER
000007FFA0B608F8      6293  package body SYS.KUPW$WORKER
000007FFA0B608F8      9108  package body SYS.KUPW$WORKER
000007FFA0B608F8      1881  package body SYS.KUPW$WORKER
000007FFA0B608F8      6854  package body SYS.KUPW$WORKER
000007FFA0B608F8      1259  package body SYS.KUPW$WORKER
000007FFBC77F128         2  anonymous block
Job "SYS"."SYS_EXPORT_SCHEMA_90" stopped due to fatal error at 12:31:55

回答by Joshua

Answer: the error doesn't matter because the datamining is not used. The export still occurs.

答:错误无关紧要,因为没有使用数据挖掘。导出仍然发生。

It appears that the reason is that the DMSYS package was INVALID according to the following query

根据以下查询,原因似乎是 DMSYS 包是 INVALID

SQL> connect system/passwd
SQL> set lines 200
SQL> select status, 
            object_id, 
            object_type, 
            owner||'.'||object_name "OWNER.OBJECT"
     from   dba_objects 
     where  status != 'VALID' 
     order  by 4,2;

The following is supposed to fix the issue, but we do not have the data mining package installed.

以下应该解决这个问题,但我们没有安装数据挖掘包。

SQL> CONNECT dmsys/dmsys
ERROR:
ORA-28000: the account is locked
Warning: You are no longer connected to ORACLE.

SQL> CONNECT / as sysdba
Connected.

SQL> ALTER USER dmsys IDENTIFIED BY dmsys ACCOUNT UNLOCK;
User altered.

SQL> CONNECT dmsys/dmsys
Connected.

SQL> @$ORACLE_HOME/dm/admin/dmutil.plb
Package created.
Package created.

回答by Luke Woodward

This may turn out not to be helpful, but I'd be interested to know what the errors in the package body DMSYS.DBMS_DM_IMP_INTERNALare. Running

这可能没有帮助,但我很想知道包体DMSYS.DBMS_DM_IMP_INTERNAL中的错误是什么。跑步

SHOW ERRORS PACKAGE BODY DMSYS.DBMS_DM_IMP_INTERNAL;

in SQL*Plus should list them.

在 SQL*Plus 中应该列出它们。