转 RAC单个节点执行expdp提示ORA-31693 ORA-31617 ORA-19505 ORA-27037错误 1.在RAC单节点执行expdp,出现ORA-31693 ORA-31617 ORA-19505 ORA-27037错误 2.查找解决方案  3.问题处理 

http://blog.itpub.net/31394774/viewspace-2217567/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
oracle@cwgsdb1:/backup$ expdp directory=dir_dp schemas=hr dumpfile=hr.dmp logfile=hr.log parallel=2
  
Export: Release 11.2.0.4.0 - Production on Thu Oct 25 17:14:26 2018
  
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
  
Username: system 
Password: 
  
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** directory=dir_dp schemas=hr dumpfile=hr.dmp logfile=hr.log parallel=2 
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 448 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
ORA-31693: Table data object "HR"."COUNTRIES" failed to load/unload and is being skipped due to error:
ORA-31617: unable to open dump file "/backup/hr.dmp" for write
ORA-19505: failed to identify file "/backup/hr.dmp"
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3
ORA-31693: Table data object "HR"."DEPARTMENTS" failed to load/unload and is being skipped due to error:
ORA-31617: unable to open dump file "/backup/hr.dmp" for write
ORA-19505: failed to identify file "/backup/hr.dmp"
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3

2.查找解决方案 

在MOS上使用关键字“expdp ORA-27037”查找文章:

DataPump Export (EXPDP) Fails With Errors ORA-31693 ORA-31617 ORA-19505 ORA-27037 In a RAC Environment (文档 ID 1597395.1)

SYMPTOMS

Customer receives the following errors:

ORA-31693: Table data object "W7JCR_INTER"."ICMUT01102001" failed to load/unload and is being skipped due to error: 
ORA-31617: unable to open dump file "<dumpfile name and path>" for write 
ORA-19505: failed to identify file "<dumpfile name and path>" 
ORA-27037: unable to obtain file status 
Solaris-AMD64 Error: 2: No such file or directory 
Additional information: 3


Note: 
It is possible for this to occur on other operating systems since it is a mount point. The OS specific errors may therefore be different. 

CAUSE

The problem occurs when Datapump Export is being performed on a multi-node RAC where the dumpfile destination is not shared to all nodes for access.  Since multiple nodes will be running the Datapump job, ALL nodes must have access to the mount point where the dump file will be written. 
  
The issue is addressed in the following bug report which was closed with status 'Not a Bug': 
Bug 11677316  - DATA PUMP UNABLE TO OPEN DUMP FILE ORA-31617 ORA-19505 ORA-27037 

SOLUTION

1. Share/mount the dumpfile destination with all RAC nodes performing the expdp 

- OR - 

2. Use CLUSTER=N during Datapump so it will only run on the node which has the mount point and permissions to write to it.

显然,问题是因为在单个节点备份的路径对RAC集群的其他节点不可见而导致的,所以需要通过修改备份路径或者增加CLUSTER=N参数进行解决。这里由于路径已经固定,所以选择后一种方法进行处理。

3.问题处理 

修改备份命令,增加CLUSTER=N参数后重新执行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
oracle@cwgsdb1:/backup$ expdp directory=dir_dp schemas=hr dumpfile=hr.dmp logfile=hr.log parallel=2 CLUSTER=N
Export: Release 11.2.0.4.0 - Production on Thu Oct 25 17:18:54 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Username: system
Password: 
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_02":  system/******** directory=dir_dp schemas=hr dumpfile=hr.dmp logfile=hr.log parallel=2 CLUSTER=N 
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 448 KB
. . exported "HR"."COUNTRIES"                            6.367 KB      25 rows
. . exported "HR"."DEPARTMENTS"                          7.007 KB      27 rows
. . exported "HR"."EMPLOYEES"                            16.80 KB     107 rows
. . exported "HR"."JOBS"                                 6.992 KB      19 rows
. . exported "HR"."JOB_HISTORY"                          7.054 KB      10 rows
. . exported "HR"."LOCATIONS"                            8.273 KB      23 rows
. . exported "HR"."REGIONS"                              5.476 KB       4 rows
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_02 is:
  /backup/hr.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully completed at Thu Oct 25 17:19:21 2018 elapsed 0 00:00:13

问题顺利解决。

step 1: in db

su - opdb

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8


sqlplus db/db1234DBA

create or replace directory schema_exp as '/dbatmp/expdata_for_ods/dump';
grant read,write on directory schema_exp to public;


cd /dbatmp/expdata_for_ods

vi expdp_tab.par


directory=schema_exp
dumpfile=expdp__table_tt_%U.dmp
logfile=expdp__table_tt.log
parallel=6
filesize=10240M
exclude=INDEX
tables=(SYMBOLS.tt)
CLUSTER=N

nohup expdp db/db1234DBA parfile=expdp_tab.par &

step 2: copy file from db to osdhstdb 10.196.8.62:/db/odshst/data/dump/db

su - opdb
cd /dbatmp/expdata_for_ods/dump
scp *.dmp root@10.196.8.62:/db/odshst/data/dump/db


step 3 in 10.196.8.62 odshst

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

/bin/su - opodshst

sqlplus db/dbdb1

create directory schema_imp as '/db/odshst/data/dump/db';


cd /db/odshst/data/dump/db

vi impdp_table.par

userid=db/dbdb1
directory=schema_imp
logfile=impdp_table.log
parallel=6
dumpfile=expdp__table_tt_%U.dmp
TABLE_EXISTS_ACTION=REPLACE
EXCLUDE=INDEX


nohup impdp impdp_table.par &

#########