impdp时遇到ORA-31693&ORA-31640&ORA-19505&ORA-27037
在impdp时遇到报错:
Additional information: 3
. . 导入了 "HQ_X1"."T_XX130901":"SP15" 13.99 KB 0 行
. . 导入了 "HQ_X1"."T_XX130901":"SP2" 13.99 KB 0 行
ORA-31693: 表数据对象 "HQ_X1"."TEMP_YEAR_MONTH" 无法加载/卸载并且被跳过, 错误如下:
ORA-31640: 无法打开要读取的转储文件 "/HQ_X22.DMP"
ORA-19505: 无法识别文件"/HQ_X22.DMP"
ORA-27037: 无法获得文件状态
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
我的impdp命令:
nohup impdp HQ_X1/HQ_X1 DUMPFILE=HQ_X1%u.DMP transform=oid:n DIRECTORY=dir1 parallel=8&
看了下官方文档的说法:
The cause of this problem has been identified in unpublished bug 9378256. It is caused by a RAC instance not having physical access to the dump file (as indicated by the DIRECTORY parameter) and using a parallel degree > 1. The problem with this setup is that the PQ/PX slaves are not constrained to the RAC instance from which the IMPDP operation has been started, and when such a PQ/PX slave doesn't have access to the dump file, the errors are raised.
The behavior is also reported in 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.
In 11.2, the new DataPump parameter CLUSTER is introduced:
Syntax and Description : CLUSTER=[Y | N]
CLUSTER : Default=Y
Purpose :
Determines whether Data Pump can use Oracle Real Application Clusters (RAC)
resources and start workers on other Oracle RAC instances.
The issue has been fixed in the 11.2.0.2 patchset.
Possible workarounds for the 11.2.0.1 release are:
use the CLUSTER or SERVICE_NAME parameters to constrain the IMPDP job never to run on the instance not having access to the dump file
configure the database parameters in such a way that PQ/PX slaves are never started on the instance not having access to the dump file
use the PARALLEL=1 IMPDP command line parameter to disable parallel functionality during import
store all dump files on a local filesystem of one of the RAC nodes and use a parallel degree lower than the number of dump files and import with the CLUSTER=N command line option
mount the cluster filesystem on all nodes and set the parallel degree to be equal to the number of dump files and import with the CLUSTER=N command line option
加上cluster=N解决:
nohup impdp HQ_X1/HQ_X1 DUMPFILE=HQ_X1%u.DMP transform=oid:n DIRECTORY=dir1 parallel=8 cluster=n&
相比于exp/imp来,expdp/impdp的BUG似乎有点多。
Oracle导入导出expdp IMPDP详解
Oracle 10g expdp导出报错ORA-4031的解决方法
Oracle 10gr2 rac expdp 报错UDE-00008 ORA-31626
Oracle中利用expdp/impdp备份数据库的使用说明
Oracle备份还原(expdp/impdp)
impdp ORA-39002,ORA-39166,ORA-39164的问题及解决
: