資料泵匯入報錯impdp ora-31693 ora-31640 ora-19505 ora-27037

流浪的野狼發表於2015-05-26

在Oracle11.2.0.3 RAC上做資料匯入時報錯如下:

Starting "SYS"."SYS_IMPORT_FULL_03":  "/******** AS SYSDBA" directory=dump dumpfile=full.dmp logfile=impdp_full.log exclude=statistics table_exists_action=truncate parallel=8 full=y
Processing object type DATABASE_EXPORT/TABLESPACE
ORA-31684: Object type TABLESPACE:"SYSAUX" already exists
ORA-31684: Object type TABLESPACE:"UNDOTBS1" already exists
ORA-31684: Object type TABLESPACE:"TEMP" already exists

..............................
..............................
. . imported "DEV_OIM"."OIM_BLKLD_TMP_USER21"            897.7 KB    4997 rows
. . imported "DEV_OIM"."OIM_BLKLD_TMP_USER31"            827.7 KB    4498 rows
ORA-31693: Table data object "APEX_030200"."WWV_FLOW_STEP_BRANCHES" failed to load/unload and is being skipped due to error:
ORA-31640: unable to open dump file "/exp/backup/full.dmp" for read
ORA-19505: failed to identify file "/exp/backup/full.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-31693: Table data object "APEX_030200"."WWV_FLOW_STEP_BUTTONS" failed to load/unload and is being skipped due to error:
ORA-31640: unable to open dump file "/exp/backup/full.dmp" for read
ORA-19505: failed to identify file "/exp/backup/full.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-31693: Table data object "APEX_030200"."WWV_FLOW_TEMPLATES" failed to load/unload and is being skipped due to error:
ORA-31640: unable to open dump file "/exp/backup/full.dmp" for read
ORA-19505: failed to identify file "/exp/backup/full.dmp"
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-31693: Table data object "DEV_OIM"."UD_CR_USER" failed to load/unload and is being skipped due to error:
在mos上看了下,大意是說存在bug,需要補丁:

CAUSE

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:

針對該問題的解決方法是:

The issue has been fixed in the 11.2.0.2 patchset.

Possible workarounds for the 11.2.0.1 release are:

  1. 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
  2. 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
  3. use the PARALLEL=1 IMPDP command line parameter to disable parallel functionality during import
  4. 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
  5. 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
但是按照這樣的操作在做到如時仍然存在問題:
在:BUGRA CANBAKAL'S ORACLE BLOG上看到如下解決方案,操作處理ok。

RAC Impdp ORA-31693, ORA-29913, ORA-31640, ORA-19505, ORA-27037 fixing problems

1.PURPOSE AND SCOPE

If  the dumpfile located on non-shared area and  dba try to start impdp operation with parallel onRAC servers (version 11gR2),dba would receive  ORA-31693ORA-29913ORA-31640ORA-19505ORA-27037errors. The reason behind it oracle try to import using all RAC nodes for this operation and if the dumpfile is located on non-shared place , it could no reach it.

2.PRACTICE

2.1. Starting impdp operation.

2.2. We can solve this problem with 3 ways.

2.2.1. We can move dump file to shared location like ASM.

2.2.2. We can add CLUSTER=N parameter so only one node would execute this import operation.

2.2.3. When we parallel parameter oracle automaticly use CLUSTER=YES parameter at import operation so if you remove parallel parameter on impdp operation there wont be any issue..


Konuyla ilgili di?er yaz?lar


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28612416/viewspace-1672136/,如需轉載,請註明出處,否則將追究法律責任。

相關文章