导数据时ora-31640报错

单实例数据库10.2.0.4,目标数据库11.2.0.3 rac,目标准备将单实例上的数据导入到rac数据库。
在导入过程中报错如下:
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "LBSBUS"."T_MSG_SEND_DETAIL"                401.5 MB 1726271 rows
. . imported "LBSBUS"."T_GISROADQUERY"                   87.84 MB 1982744 rows

ORA-31693: Table data object "LBSBUS"."T_LOG" failed to load/unload and is being skipped due to error:
ORA-31640: unable to open dump file "/home/oracle/gejie/ngis140227.dmp" for read
ORA-19505: failed to identify file "/home/oracle/gejie/ngis140227.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory

奇怪,为什么有的表能导进,有的表不能导进?查找文件目录权限,都没问题。


2.1 因为报的错误是不可以读dump文件,仔细检查了文件及其目录的访问权限,发现没有任何问题.


2.2 在metalink上搜索,找到了ID=1071373.1的文章,知道了真正的原因.
原来11g R2的IMPDP 增加了一个参数设置:CLUSTER,在设置了parallel参数>1的情况下, 可以支持多个节点的同时导入工作.
这边实际的情况是,另外一个节点无法访问到dump文件,我也是只想从一个节点导入数据,所以需要关闭这个选项.


三. 问题解决
修改导入的命令,设置cluster=N,再次进行导入
$nohup impdp lbsbus/lbsbus directory=a1 dumpfile=ngis0816.dmp logfile=ngis.log TABLE_EXISTS_ACTION=append EXCLUDE=STATISTICS parallel=5  cluster=n; 


数据库数据可以正常导入到11g rac的数据库中问题解决.


附件: metalink doc id=1071373.1的文章的主要内容:


Symptoms
DataPump on 11.2 RAC with PARALLEL > 1 still hits the following errors though the unpublished Bug 8415620 is fixed into 11.2:


ORA-31693: Table data object "TITAN"."TN_TICKET":"TN01_2006_02" failed to load/unload and is being skipped due to error:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-31640: unable to open dump file "/oracle/xfertest/titan_01.dmp" for read
ORA-19505: failed to identify file "/oracle/xfertest/titan_01.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Unpublished Bug 8415620 DATA PUMP DOES NOT HONOR THE BOUNDARIES OF THE CONNECTED SERVICE ON RAC


DataPump RAC support is provided in 11.2. Prior to 11.2, once you use a service to make the initial connection to the database, 
an instance is selected, and the master process and all worker processes run on that instance.


Cause
From 11.2, DataPump new parameter CLUSTER is introduced.


CLUSTER : Default=Y


Purpose :
Determines whether Data Pump can use Oracle Real Application Clusters (RAC)
resources and start workers on other Oracle RAC instances.


Syntax and Description : CLUSTER=[Y | N]
Solution
To force DataPump to use only the instance where the job is started and to replicate pre-Oracle Database 11g release 2 (11.2) behavior, specify CLUSTER=N.


Example:
#> expdp lbsbus/lbsbus  DIRECTORY=dpump_dir1 DUMPFILE=gis*.dmp CLUSTER=N PARALLEL=3



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22969361/viewspace-1102454/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22969361/viewspace-1102454/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值