ORA-04063ORA-06508expdp导出数据时报错处理_DBA_Regan_新浪博客

报错信息如下:
;;;
Export: Release 11.2.0.4.0 - Production on Thu Dec 27 16:46:58 2018

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, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "COSTS"."SYS_EXPORT_SCHEMA_04":  costs/******** directory=costsdir dumpfile=costsold.dmp
ORA-39014: One or more workers have prematurely exited.
ORA-39029: worker 1 with process name "DW00" prematurely terminated
ORA-31671: Worker process DW00 had an unhandled exception.
ORA-04063: package body "SYS.KUPW$WORKER" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SYS.KUPW$WORKER"
ORA-06512: at line 2
Job "COSTS"."SYS_EXPORT_SCHEMA_04" stopped due to fatal error at Thu Dec 27 16:47:30 2018 elapsed 0 00:00:30

有package报错,尝试重新编译:
SQL> alter package KUPW$WORKER compile; 

Warning: Package altered with compilation errors.

SQL> show err
No errors.



SQL> select line ,text,position from dba_errors 
where owner='SYS' and name='KUPW$WORKER' order by sequence;

LINE      TEXT                                                POSITION
--------- --------------------------------------------------- -------------------
22308      PL/SQL: ORA-00942: table or view does not exist     34
22308     PL/SQL: SQL Statement ignored 5

查看相关联的表或视图
SQL> select REFERENCED_NAME from dba_dependencies where owner='SYS' AND NAME=UPPER('kupw$worker') and referenced_type in ('TABLE','VIEW');
REFERENCED_NAME
------
DUAL
KU$NOEXP_TAB(这个不存在)
KU$_OBJECT_STATUS_VIEW
KU$_XMLSCHEMA_SPECIAL_VIEW

在其他同版本的数据库中查询ddl
SQL> select owner,object_type from dba_objects where object_name='KU$NOEXP_TAB';
------------------------------ --------------------
SYS                            TABLE

set long 999999
set pages 9999 LINES 300
set head off
col a for a200 word_wrapped 
set serveroutput on format word_wrapped
exec dbms_metadata.SET_TRANSFORM_PARAM(dbms_metadata.session_transform,'PRETTY',true);
exec dbms_metadata.SET_TRANSFORM_PARAM(dbms_metadata.session_transform,'STORAGE',false);
exec dbms_metadata.SET_TRANSFORM_PARAM(dbms_metadata.session_transform,'SQLTERMINATOR',true);
select dbms_metadata.get_ddl('TABLE','KU$NOEXP_TAB','SYS') a from dual;
----------------------------------------
CREATE GLOBAL TEMPORARY TABLE "SYS"."KU$NOEXP_TAB"
   (    "OBJ_TYPE" VARCHAR2(30),
        "SCHEMA" VARCHAR2(30),
        "NAME" VARCHAR2(30)
   ) ON COMMIT PRESERVE ROWS ;

创建并重新编译后,报错解决
SQL> alter package KUPW$WORKER compile; 

Package altered.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORA-39002是Oracle数据库的误代码,与使用expdp命令导出数据时出现的问题有关。在Windows操作系统下,可能会遇到ORA-39002误的多种情况。下面是几种常见的情况及其解决方法: 1. 数据库连接问题:首先要确保可以成功连接到Oracle数据库。可以使用sqlplus命令测试连接是否正常。如果连接失败,可能是数据库参数配置或者网络问题。需要检查数据库参数是否正确,并确保网络连接正常。 2. 导出目录权限问题:在执行expdp命令时,需要指定一个目录作为导出文件的存放位置。如果导出目录没有正确设置权限,也可能导致ORA-39002误。应该确保导出目录所属用户具有写入权限,并且确认目录是否存在。 3. 数据库版本不兼容:在导出数据时,可能会由于数据库版本不兼容导致ORA-39002误。此时需要检查Oracle数据库版本是否支持当前使用的expdp命令版本。如果版本不兼容,可以尝试升级数据库或使用对应版本的expdp命令。 4. 参数配置误:在执行expdp命令时,需要指定一些参数,如导出的表名、导出数据类型等。如果参数配置不正确,可能会导致ORA-39002误。应该仔细检查expdp命令中的参数是否正确,并根据需要进行修改。 总之,遇到ORA-39002误时,首先需要检查数据库连接是否正常,然后检查导出目录权限和数据库版本兼容性,最后确认参数配置是否正确。根据具体情况进行排查和解决,即可解决ORA-39002误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值