根据文章信息,该问题Oracle一个未发布的bug,编号为Bug 8740124。当Oracle尝试访问主库过程中,需要连带将全部的standby log获取到。当连接失败的时候,就会发生报错。
要解决该问题,Oracle提供了一个变通的办法,就是不要使用target /匿名方式登录,而是使用sysdba用户的用户名和密码信息进行直接连接。
实验如下:
[oracle@vLIFE-URE-OT-DB-STANDBY trace]$ rman nocatalog
Recovery Manager: Release 11.2.0.4.0 - Production on Sun Oct 18 13:49:56 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target sys/oracle@vlifesb
connected to target database: VLIFE (DBID=4207470439)
using target database control file instead of recovery catalog
RMAN> backup database plus archivelog delete input;
Starting backup at 18-OCT-15
current log archived at primary database
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=204 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
(篇幅原因,有省略……)
handle=/u01/app/oracle/fast_recovery_area/VLIFESB/autobackup/2015_10_18/o1_mf_s_893425827_c26dssbt_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 18-OCT-15
没有出现报错信息,问题解决。
4、结论
笔者思考一下,这个变通策略还是利用了主库和备库在sysdba用户的密码相同这个策略。在备份的时候,将显示记录的sysdba用户密码输入进去,用于进行远程Primary登录和获取。
--------------------------------------推荐阅读 --------------------------------------
--------------------------------------分割线 --------------------------------------