使用expdp时,遇到”ORA-39002、ORA-39070......”连续报错。

1、  遇到的问题

C:\Users\Administrator>expdp 'sys/system as sysdba' directory=backup full=y dumpfile=fullexp.dmp logfile=fullexp.log;

       Export: Release 10.2.0.3.0 - Production on Wednesday, 18 April, 2012 12:13:15

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

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

       With the Partitioning, 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

2、  问题解决

Google了一下,发现了问题原因:

(1)、查看directory 对象

SYS@ tsid > select * from dba_directories;

 

OWNER DIRECTORY_NAME            DIRECTORY_PATH

----- ------------------------- ------------------

SYS   BACKUP                    E:\oradata\backup

而操作系统上,E:\oradata下,没有backup目录。因为目录不存在,所以会出现” ORA-39070: Unable to open the log file.”错误。

   (2)、创建”E:\oradata\backup”目录,或者修改directory 对象,问题解决。

3、导致问题出现的潜在原因。

   Oracle 10g 下创建directory对象,即使所引用的目录不存在,该命令也可以正常执行,这样就容易造成这样的错误。