Oracle11.2.0.4 RAC+DG环境,在主库执行rman duplicate的时候,报如下ORA-19505错误:
1 2 3 4 5 6 7 8 9 10 11 |
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of Duplicate Db command at 12/28/2016 17:53:13 RMAN-05501: aborting duplication of target database RMAN-03015: error occurred in stored script Memory Script RMAN-03009: failure of backup command on ORA_DISK_1 channel at 12/28/2016 17:53:12 ORA-19505: failed to identify file "/u01/app/oracle/product/11.2.0/dbs/orapwdjdbp1" ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 |
开始以为是分配通道的问题,修改了备份通道数量
1 |
CONFIGURE DEVICE TYPE DISK PARALLELISM 4; |
但是同样执行还是报错,后来考虑了大半天,才发现问题所在。
分析原因:在rman连接的时候,rman target sys/密码@djdbp auxiliary sys/密码@djdbs, 这里连接的server name 是djdbp ,而在tns文件中配置的djdbp是整个集群,这样就导致在连接的时候会根据负载自动分配到其他节点,节点一登录可能会连接到节点二,这样在执行rman duplicate的时候,找不到本节点的口令文件。
解决办法:在本节点的tns文件中,新增一个只连接本节点的servername, rman连接的时候,指定这个server name就可以了
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 |
[oracle@rac1 admin]$ rman target sys/密码@djdbp1 auxiliary sys/密码@djdbs Recovery Manager: Release 11.2.0.4.0 - Production on Wed Dec 28 18:08:15 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: DJDBP (DBID=2050541253) connected to auxiliary database: DJDBP (not mounted) RMAN> duplicate target database for standby from active database nofilenamecheck dorecover; Starting Duplicate Db at 2016-12-28 18:08:27 using target database control file instead of recovery catalog allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=762 instance=djdbs1 device type=DISK allocated channel: ORA_AUX_DISK_2 channel ORA_AUX_DISK_2: SID=857 instance=djdbs1 device type=DISK allocated channel: ORA_AUX_DISK_3 channel ORA_AUX_DISK_3: SID=952 instance=djdbs1 device type=DISK contents of Memory Script: { backup as copy reuse targetfile '/u01/app/oracle/product/11.2.0/dbs/orapwdjdbp1' auxiliary format '/u01/app/oracle/product/11.2.0/dbs/orapwdjdbs1' ; } executing Memory Script 。。。 。。。 。。。 |
总结:总体来说还是有点不太细心,如果按照官网的步骤,应该是可以避免这种错误的,不过好在找到了问题的原因,顺利解决。也算给自己长了一点姿势。
- 本文固定链接: http://www.savedba.com/?p=1005
- 转载请注明: 版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!