使用expdp时遇到ORA-39002、ORA-39070错误(转)

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

1、  遇到的问题

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

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

       Copyright(c) 2003, 2005, Oracle.  All rightsreserved.

       Connectedto: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production

       With thePartitioning, 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;

 

OWNERDIRECTORY_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对象,即使所引用的目录不存在,该命令也可以正常执行,这样就容易造成这样的错误。

转自:http://blog.itpub.net/25744374/viewspace-721515

ps:创建目录

其语法为:

CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';

本案例具体创建如下:

create or replace directory exp_dir as '/tmp';

目录创建以后,就可以把读写权限授予特定用户,具体语法如下:

GRANT READ[,WRITE] ON DIRECTORY directory TO username;

例如:

grant read, write on directory exp_dir to eygle;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值