ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC环境impdp导入报错 ORA-12801

RAC环境impdp导入报错 ORA-12801

原创 Linux操作系统 作者:is.x 时间:2011-08-08 12:57:28 0 删除 编辑

测试环境一套ORACLE 10.2.0.3 RAC环境数据库使用impdp导入数据时报错,报错内容如下:

ORA-31693: Table data object "LINC"."VIPDB_ACCT" failed to load/unload and is being skipped due to error:

ORA-44002: invalid object name

ORA-06512: at "SYS.DBMS_ASSERT", line 283

ORA-06512: at "SYS.KUPD$DATA", line 1336

ORA-12801: error signaled in parallel query server P002, instance sunvs-b:U2 (2)

ORA-29913: error in executing ODCIEXTTABLEOPEN callout

ORA-31626: job does not exist

ORA-06512: at "SYS.ORACLE_DATAPUMP", line 19

 

此为RAC环境数据库,同事在导入的时候指定了并行度(PARALLEL=5)。

 

10.2.0.3版本上存在一个已知的Bug 5472417  EXPDP on RAC fails with ORA-39014 / ORA-12801 (error signaled in parallel query server),和此现象类似。

 

导致报错的主要原因是由于导入使用了external table方式,且指定的directory对象未放在共享存储上。

 

RAC环境下指定parallel参数后,使用数据泵导入数据时,需要确认指定的directory对象在共享存储上,所有RAC集群的实例均可访问。

 

impdp导入有direct pathexternal table方式,一般direct path的效率较高。

 

当导入的分区或表>250M且使用parallel参数时,impdp会使用外部表方式导入数据。(Data could also have been loaded in "Direct Path" mode, but the table or partition is relatively large (> 250 Mb) and parallel SQL can be used to speed up the load even more

 

取消了parallel参数后,导入正常完成。

 

目前可行的解决方案:

 

1.       directory对象创建在共享存储上

2.       导入时取消parallel参数(即PARALLEL=1,这个已经证实了可以正常完成导入)

3.       强制direct path方式导入(使用未公开的access_method参数强制指定),这个方法不建议使用

4.       在仅单个实例启动时使用数据泵

 

 

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

请登录后发表评论 登录
全部评论

注册时间:2011-04-27

  • 博文量
    73
  • 访问量
    265308