我正在尝试使用expdp在我的oracle db
的某些表上执行导出我的代码:
expdp AAA/***@xxx schemas=AAA include=TABLE:"= 'TBL001'" directory=DUMP_DIR dumpfile=dmpfile.dmp logfile=lgfile.txt
这就是我得到的:
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
我在线检查,我想这是托管不同的操作系统和/或授权
的问题这是我的情况:
- Linux机上的Oracle DB,带有Centos 7
- Directory = Dump_dir是DB上的目录对象。当我看到Linux Machine = SMB://Win_Machine1/dump_oracle/ 时,它是创建的。
- dump_dir位于Windows Server 2008 R2(WIN_MACHINE1( 上
- 我可以从Oracle Machine获得Windows凭据 到达Dump_dir
- 我在Win_machine1中启动了一个.bat文件,上面写着expdp命令
Q1:通过WIN服务器从Oracle机器授权?我想Oracle使用AAA访问DB并执行导出操作,但是哪个用户访问目录Dump_dir?当我在Centos中找到它时,它要求我提供证书(我告诉它要记住(,但是我不知道它是否存储它们,或者ExpDP是否使用它们。(AAA不是域用户(
可能是问题,还是我应该检查其他东西?
谢谢,Marcello
我找到了解决方案:
使用mkdir
在Linux中创建/mnt/创建目录cd/mnt
mkdir mydir
然后使用坐骑
安装它安装-T CIFS -O用户名,密码//servername/sharename/mnt/mydir/
用户名和密码是Windows-user可以访问共享的和//servername/sharename是我份额的路径(servername = ip地址,如果无法解析DNS(
然后在Oracle DB
上创建目录创建或替换目录dump_dir为'/mnt/mydir'
expdp正常工作
expdp aaa/***@xxx schemas = aaa inception =表:" = 'tbl001 '" directory = dump_dir dumpfile = dmpfile.dmp logfile = lgfile = lgfile.txt
与错误票8313127有关的DataPump不支持CIFS文件系统。Oracle建议改用NFS文件系统。