Oracle数据泵(Data Dump)错误汇集

Oracle数据泵(Data
Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data
Dump)过程当中遇到的问题以及解决方法。都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇。

错误案例1

ORA-39065: DISPATCH 中出现意外的主进程异常错误;ORA-44002: 对象名无效

Windows 平台错误提示:

Linux平台错误提示

解决方法:

[oracle@DB-Server admin]$ oerr ora 39065
 
39065, 00000, "unexpected master process exception in %s"
 
// *Cause: An unhandled exception was detected internally within the master
 
// control process for the Data Pump job. This is an internal error.
 
// messages will detail the problems.
 
// *Action: If problem persists, contact Oracle Customer Support.
 
 
 
 
[oracle@DB-Server admin]$ oerr ora 39097
 
39097, 00000, "Data Pump job encountered unexpected error %s"
 
// *Cause: An unexpected, potentially non-fatal error occurred while
 
// processing a Data Pump job.
 
// *Action: Contact Oracle Customer Support.
 

执行$ORACLE_HOME/rdbms/admin目录下面的catmet2.sql,utlrp.sql 两个SQL文件即可解决这个问题。

[oracle@DB-Server ~]$ cd $ORACLE_HOME/rdbms/admin
 
[oracle@DB-Server admin]$ sqlplus / as sysdba
 
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Sep 7 08:24:23 2014
 
Copyright (c) 1982, 2005, Oracle. All rights reserved.
 
Connected to an idle instance.
 
SQL> @catmet2.sql 
 
SQL> @utlrp.sql 
 

错误案例2

使用expdp/impdp时遭遇ORA-39006: internal error;ORA-39213: Metadata processing is notavailable错误

 

[oracle@DB-Server backup]$ impdp frnt/frnt directory=dum_dir dumpfile=20120420.FRNT_02.dmp tablespaces=TBS_TR_DATA;

Import: Release 10.2.0.1.0 - 64bit Production on Wednesday, 25 April, 2012 14:41:48

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
    ORA-39006: internal error
    ORA-39213: Metadata processing is not available

 

解决方法:

错误原因如下所示,因为Data Pump不能使用Metadata API, 这个是因为XSL stylesheets 没有正确设置缘故。需要以SYSDBA执行dbms_metadata_util.load_stylesheets

[oracle@DB-Server admin]$ oerr ora 39213
 
39213, 00000, "Metadata processing is not available"
 
// *Cause: The Data Pump could not use the Metadata API. Typically,
 
// this is caused by the XSL stylesheets not being set up properly.
 
// *Action: Connect AS SYSDBA and execute dbms_metadata_util.load_stylesheets
 
// to reload the stylesheets.
 

SQL>exec dbms_metadata_util.load_stylesheets

 

错误案例3

错误如下所示:

etl@NMS_ODS_NDB1[/jkfile/klbtmp]#expdp
userid=username/password@tnsname dumpfile=ref.dmp directory=DUMP_TEST
schemas=ref content=all logfile=ref.log

Export: Release 10.2.0.3.0 - 64bit Production on Saturday, 02 March, 2013 10:28:25

Copyright (c) 2003, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP and Data Mining options

ORA-39002: invalid operation

ORA-39070: Unable to open the log file.

ORA-29283: invalid file operation

ORA-06512: at "SYS.UTL_FILE", line 475

ORA-29283: invalid file operation

解决方法:

出现这个错误,需要检查DIRECTORY目录,创建DIRECTORY时,ORACLE并不检查操作系统目录是否已经存在

首先检查DIRECTORY目录DUMP_TEST对应的DIRECTORY_PATH,然后检查操作系统下,验证该目录是否存在。

SQL> SELECT * FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='DUMP_TEST';
 
OWNER                            DIRECTORY_NAME           DIRECTORY_PATH
 
------------------------ ------------------------------ -----------------
 
SYS                                DUMP_TEST              /jkfile/klbtmp/
 
SQL> 
 

结果检查发现该目录被删除了,创建该目录即可解决问题。

另外一种情况,如果创建DIRECTORY目录时,出现了换行,也会出现上面错误信息,这种错误玩玩很难发现,非常折腾人。所以需要非常细心。

SQL> create directory DUMP_TEST as '/jkfile/klbtmp/

';

 

错误案例4

如下所示:

etl@NMS_ODS_NDB1[/jkfile/work/klb]#expdp
userid=etl/sunrise@wgods1 dumpfile=ref.dmp directory=DUMP_DIR
schemas=ref content=all logfile=ref.log

Export: Release 10.2.0.3.0 - 64bit Production on Saturday, 02 March, 2013 10:50:25

Copyright (c) 2003, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP and Data Mining options

ORA-31631: privileges are required

ORA-39109: Unprivileged users may not operate upon other users' schemas

 

解决方法:

 

主要是etl账号缺少exp_full_database 权限,给etl账号授予exp_full_database 权限后,上述问题解决。

# su - oracle

$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Sat Mar 2 10:58:37 2013

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> grant exp_full_database to etl;

Grant succeeded.

 

错误案例5:

etl@NMS_ODS_NDB1[/etl1_cx/etl]expdp
etl/sunrise@wgods1 dumpfile=DM.TM_ALARM_LOG.dmp directory=DUMP_DIR
tables=DM.TM_ALARM_LOG query='DATE_CD >=20121201 AND DATE_CD
<=20130131';

LRM-00101: unknown parameter name '>'

 

解决方法:

etl@NMS_ODS_NDB1[/etl1_cx/etl]expdp
etl/sunrise@wgods1 dumpfile=DM.TM_ALARM_LOG.dmp directory=DUMP_DIR
tables=DM.TM_ALARM_LOG query="DATE_CD \>\=20121201 AND DATE_CD
\<\=20130131";

 

错误案例6:

 

LRM-00121: 'DATA_ONLY' is not an allowable value for 'compression'。如下所示:

 

etl@NMS_ODS_NDB1[/etl1_cx/etl]#expdp
etl/sunrise@wgods1 dumpfile=ref.dmp directory=DUMP_DIR
dumpfile=DM.TM_ALARM_LOG201212.dmp tables=DM.TM_ALARM_LOG
COMPRESSION=DATA_ONLY query='DATE_CD >=20121201 AND DATE_CD
<=20130131';

LRM-00121: 'DATA_ONLY' is not an allowable value for 'compression'

 

解决方法:

 

首先查看EXPDP工具的版本,如下所示:

etl@NMS_ODS_NDB1[/etl1_cx/etl]#expdp version

Export: Release 10.2.0.3.0 - 64bit Production on Monday, 04 March, 2013 14:46:47

Copyright (c) 2003, 2005, Oracle. All rights reserved.

Password:

请注意,在ORACLE 10g下 COMPRESSION只有METADATA_ONLY和NONE两个选项,ORACLE 11g下才有DATA_ONLY选项。所以报如上错误。所以在使用前,请注意一下EXPDP工具的版本。

 

错误案例7:

[oracle@DB-Server]$ expdp system/***** TABLES=INVENRTY.INV_STK_HD dumpfile=INV_STK_HD.dmp logfile=1.log DIRECTORY=CUR_DUMP_DIR

Export: Release 10.2.0.4.0 - Production on Sunday, 14 July, 2013 8:27:16

Copyright (c) 2003, 2007, Oracle. All rights reserved.

Connected to: Oracle Database 10g Release 10.2.0.4.0 - Production

ORA-31626: job does not exist

ORA-31637: cannot create job SYS_EXPORT_TABLE_01 for user SYSTEM

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: at "SYS.KUPV$FT_INT", line 600

ORA-39080: failed to create queues "KUPC$C_1_20130714082716" and "KUPC$S_1_20130714082716" for Data Pump job

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: at "SYS.KUPC$QUE_INT", line 1606

ORA-00832: no streams pool created and cannot automatically create one

 

解决方法:

这个案例我以前已经介绍过,具体参考我的博客 Expdp 导数错误 ORA-00832

 

错误案例8:

[oracle@testlnx01 u03]$ cd tmp/

[oracle@testlnx01 tmp]$ expdp system/***** directory=DUMPDIR dumpfile=ESCMUSER.dmp schemas=ESCMUSER logfile=ESCMUSER.log

Export: Release 10.2.0.4.0 - 64bit Production on Wednesday, 27 August, 2014 16:30:46

Copyright (c) 2003, 2007, Oracle. All rights reserved.

Connected to: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production

ORA-31626: job does not exist

ORA-31633: unable to create master table "SYSTEM.SYS_EXPORT_SCHEMA_05"

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: at "SYS.KUPV$FT", line 871

ORA-00959: tablespace 'TOOLS' does not exist

 

解决方法:

这个案例有点特别,刚遇到的时候,确实有点莫名其妙,经过苦苦求索、求证后才发现,本来有一个TOOLS的表空间,不知道是哪位头脑发热的人,居然指定SYSTEM用户的默认表空间为TOOLS,但是这个表空间又被人删除了。于是便有了这样一个案例。

SQL> ALTER USER SYSTEM DEFAULT TABLESPACE SYSTEM;

User altered.

修改用户SYSTEM的默认表空间后,问题解决。

时间: 2016-04-26

Oracle数据泵(Data Dump)错误汇集的相关文章

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例_oracle

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇. 错误案例1: ORA-39065: DISPATCH 中出现意外的主进程异常错误:ORA-44002: 对象名无效 Windows 平台错误提示: Linux平台错误提示 解决方法: [oracle@DB-Server admin]$

Oracle数据泵导出导入与传统导出导入的区别

 估计有不少的朋友不清楚Oracle数据泵导出导入与传统导出导入的区别吧,下面小编为各位介绍一下,有兴趣的朋友不防进入一起参考.   先来看一下Oracle数据泵导出导入例子 1.首先建立目录: create directory 目录名称 as '数据库服务器上的一个目录',如:  create directory 别名 as 'd:\服务器目录名';  将导入或导出的文件放在这个目录下 2.导出及导入 以SID=orcl,导出dmp的账号为test,导入dmp的账号为test为例. 若将数据从

oracle数据泵EXPDP和IMPDP使用说明

oracle数据泵EXPDP和IMPDP使用说明       首先标题不知道是否正确,oracle数据泵好像包含了好多概念,目前只是零星接触了一下EXPDP和IMPDP工具.据百度而来的资料,oracle10g之后推出的这个工具在性能上要比此前的EXP和IMP要高,而且支持从高版本向低版本导入和导出,所以在需要学习数据导入导出的时候,直接考虑EXPDP和IMPDP了.在此,记录一下这两个工具的使用方法. 一.准备:创建逻辑目录,并赋予oracle对其的读写权限 1.使用EXPDP工具时,其转存储

oracle数据泵导入分区表统计信息报错(二) 深入研究问题的现象

今天在进行数据泵导入操作时,发现一个bug. 上一篇记录了问题的现象,这一篇继续深入研究. 上一篇文章已经描述了问题的产生,而且提到了这个问题很难重现.无论如何去模拟实际的情况,都无法重现问题. 为了重现这个问题,在RAC数据库环境中,仿照问题表创建了分区表.并仿照问题数据库收集了统计信息的方式进行了统计信息的收集,都无法重现问题. 但是,利用问题数据库导出的统计信息,就可以重现问题.上周五发现的问题,但是由于数据不方便带回家,因此由于时间的限制仅仅测试了这么多. 今天一早到了公司,就继续这个问

oracle数据泵不同工作方式性能比较(五)测试NETWORK_LINK导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇测试NETWORK_LINK导入方式. 首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间. SQL> DROP USER TJSQ_NDMAIN CASCADE; User dropped. SQL> DROP USER TJSQ_TRADE CASCADE; User dropped. SQL

oracle数据泵不同工作方式性能比较(三)测试直接路径导出、导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇测试直接路径导出.导入方式. 首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间. SQL> DROP USER TJSQ_NDMAIN CASCADE; User dropped. SQL> DROP USER TJSQ_TRADE CASCADE; User dropped. SQL>

Oracle学习(二十一) 使用数据泵data bump进行导入和导出

data pump(数据泵)可以实现在测试环境.开发环境.生产环境以及高级复制或热备份数据库之间 的快速数据迁移.data pump还能实现部分或全部数据库逻辑备份,以及跨平台的可传输表空间备份. data pump技术相对应的工具是data pump export和data pump import,即expdp和impdp,它们的功 能与exp和imp类似,所不同的是data pump技术的速度更快.另外,data pump技术还可以实现断点重启 ,即在任务中断后可以从断点处重新启动. 在使用

Oracle数据泵技术详解

Oracle Database 10g中采用了数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 一. 数据泵导出导入(EXPDP和IMPDP)的作用: 1.实现逻辑备份和逻辑恢复. 2.在数据库用户之间移动对象. 3.在数据库之间移动对象 4.实现表空间搬移. 二. 数据泵导出导入与传统导出导入的区别: 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,增加了数据泵导出导入工具EXPDP和IM

oracle数据泵导入分区表统计信息报错(一) 问题的现象

今天在进行数据泵导入操作时,发现一个bug. 数据库版本Oracle 10203 for Solaris RAC,执行导入在处理表的统计信息时报错,错误信息为:ORA-39083和ORA-917. 经过仔细排查,对比源数据库分析情况和目标数据库的表分析情况,发现所有的分区表的统计信息都没有导入. 基本确认问题是IMPDP在处理分区表的统计信息时出现了问题. 可惜现在问题无法通过构造案例来重现:在目标数据库中(RAC环境)尝试建立分区表并执行数据泵的导出和导入,无法重现问题.将源数据库中出现问题的