在其中一个RAC实例上运行以下命令
expdp system/password@orcl DIRECTORY=Test DUMPFILE=user1.dmp owner=user1 LOGFILE=log1.log
我面临以下错误:
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
我在同一个RAC实例上使用以下SQL命令创建了'Test‘目录:
CREATE DIRECTORY Test AS '/usr/apps/datafiles';
您能帮我成功导出DB吗?
发布于 2012-08-16 18:13:09
你得到的错误是ORA-29283
> oerr ora 29283
29283. 00000 - "invalid file operation"
*Cause: An attempt was made to read from a file or directory that does
not exist, or file or directory access was denied by the
operating system.
*Action: Verify file and directory access privileges on the file system,
and if reading, verify that the file exists.
因此,要么/usr/apps/datafiles
目录不存在,要么它不能被Oracle进程所有者(例如,oracle
帐户)写入;或者您指定的日志文件可能(但不太可能)已经存在并且不能被覆盖。
既然您已经说过它存在,那么请查看目录的所有权限(例如,ls -ld /usr/apps/datafiles
,检查Oracle process所有者的所有者和组(例如,id -a
),以比较该目录及其父目录上的权限。如果一切正常,请在以Oracle进程所有者身份登录时检查是否可以在目录下创建文件,例如:
touch /usr/apps/datafiles/test_file
ls -l /usr/apps/datafiles/test_file
rm -f /usr/apps/datafiles/test_file
如果所有这些都能正常工作,那么由于您使用的是RAC,所以您可能需要参考支持说明1305166.1。
首先要尝试的是在没有@orcl
的情况下执行expdp
,因为(a)当侦听器和数据库在不同的帐户下运行时(例如grid
和oracle
,并且grid
用户无法访问操作系统目录-以该用户的身份重复touch
测试以查看情况是否如此)会出现问题;或者(b)如果别名是负载平衡的,并且它最终在没有该目录的不同节点上运行。
发布于 2013-04-02 01:37:55
您可以将日志文件更改为任何其他默认目录,如DATA_PUMP_DIR,这样它就可以在任何其他节点上执行,因为默认目录在所有节点上都可用。
logfile=DATA_PUMP_DIR:impdp.log
发布于 2013-07-15 15:18:55
用户可能没有使用该目录的权限。您需要以sysdba身份登录并提供必要的权限
向PUBLIC授予对目录的读、写权限;
然后尝试使用数据泵进行导出,这应该可以解决您的问题。
https://stackoverflow.com/questions/11878631
复制相似问题