首页 > 数据库 > Oracle > RAC下导出ORA-31617、ORA-31693
[oraprod@ebsdb1 dump]$ expdp system/***** DIRECTORY=dump_dir TABLESPACES=CUX_SMALL dumpfile=cux_small.dmp parallel=2 job_name=expdpjob2 logfile=expdp1.log;
ORA-31693: Table data object "CUX"."CUX_REVENUE_DATA" failed to load/unload and is being skipped due to error:
ORA-31617: unable to open dump file "/home/oraprod/haosj/dump_dir/cux_small.dmp" for write
ORA-19505: failed to identify file "/home/oraprod/haosj/dump_dir/cux_small.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Processing object type TABLE_EXPORT/TABLE/GRANT/CROSS_SCHEMA/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/COMMENT
[oraprod@ebsdb1 dump_dir]$ cd /home/oraprod/haosj/dump_dir
[oraprod@ebsdb1 dump_dir]$ ll
total 2031464
-rw-r----- 1 oraprod asmadmin 2078179328 Jul 15 11:22 cux_small.dmp
-rw-r--r-- 1 oraprod asmadmin 1885 Jul 15 11:22 expdp1.log
[oraprod@ebsdb1 dump_dir]$ cd ..
[oraprod@ebsdb1 haosj]$ ll
total 16
drwxr-xr-x 2 root root 4096 Feb 24 14:41 20140109
drwxr-xr-x 2 oraprod oinstall 4096 Feb 24 15:35 20140224
drwxr-xr-x 2 oraprod oinstall 4096 Jul 15 11:12 20140715
drwxr-xr-x 2 oraprod oinstall 4096 Jul 15 11:21 dump_dir
[oraprod@ebsdb1 haosj]$ chmod 777 dump_dir/
[oraprod@ebsdb1 haosj]$
1.1.2. 解决方法数据泵的并行度设置为10,同时向10个DUMPFILE中写入数据。在写入时出现ORA-31693、ORA-29913和ORA-31617错误。
发现对于RAC环境而言,Oracle会尝试将并行导出放到两个节点上,而由于DIRECTORY是本地磁盘,且在另外一个节点上没有建立同样的目录,因此打开文件报错的信息。
那么如果想要使用RAC上的并行导出,确保相同的目录在两个节点上同时存在。如果只想在一个节点上执行数据泵的导出那么就不要使用并行方式。
[oraprod@ebsdb1 dump]$ expdp system/**** DIRECTORY=dump_dir TABLESPACES=CUX_SMALL dumpfile=cux_small.dmp job_name=expdpjob4 logfile=expdp1.log;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14710393/viewspace-1219058/ ,如需转载,请注明出处,否则将追究法律责任。