ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 导数据时ora-31640报错

导数据时ora-31640报错

原创 Linux操作系统 作者:dingzihan 时间:2014-03-06 16:47:40 0 删除 编辑
单实例数据库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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: OCRCONFIG工具
请登录后发表评论 登录
全部评论

注册时间:2009-12-04

  • 博文量
    55
  • 访问量
    420924