数据泵导出报ORA-31617错误

环境说明:linux 64    +ORACLE 11GR2三节点集群


expdp对应par文件如下

DUMPFILE=ZJN_%U.dmp
LOGFILE=zjn.log
DIRECTORY=zjn
COMPRESSION=ALL
PARALLEL=10
FILESIZE=30G
INCLUDE=TABLE

SCHEMAS=zjn


执行以下命令导出后报错
expdp  \' / as sysdba \'  parfile=zjn.par
错误信息如下

ORA-31693: Table data object "ZJN"."T_SJZH_GISOID2PMSOID" failed to load/unload and is being skipped due to error:
ORA-31617: unable to open dump file "/home/oracle/ZJN_02.dmp" for write
ORA-19505: failed to identify file "/home/oracle/ZJN_02.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory


经搜索得到以下答案:

数据泵的并行度设置为10,同时向10个DUMPFILE中写入数据。在写入时出现ORA-31693、ORA-19505和ORA-31617错误。

发现对于RAC环境而言,Oracle会尝试将并行导出放到两个节点上,而由于DIRECTORY是本地磁盘,且在另外一个节点上没有建立同样的目录,因此打开文件报错的信息。

那么如果想要使用RAC上的并行导出,确保相同的目录在两个节点上同时存在。如果只想在一个节点上执行数据泵的导出那么就不要使用并行方式。

经检查其他节点存在相应目录,而且需导出的文件较大:1TB左右,不使用并行非常慢

在par文件中添加一行后,可以在一个节点上并行执行导出

CLUSTER=N  

该参数解释如下:

Utilize cluster resources and distribute workers across the Oracle RAC.Valid keyword values are: [Y] and N.

利用集群资源,在Oracle RAC上分发工作。可能的值是Y和N,默认是Y.
该参数在10g版本不存在,在10g版本下使用并行则directory必须指定在共享文件系统下



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值