http://blog.itpub.net/31394774/viewspace-2217567/
1.在RAC单节点执行expdp,出现ORA-31693 ORA-31617 ORA-19505 ORA-27037错误
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 |
|
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 |
|
问题顺利解决。
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 [email protected]:/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 &
#########
原文地址:https://www.cnblogs.com/feiyun8616/p/11824022.html