越来越多的Oracle数据库使用者,部署灾备,Dataguard, 也为了减少主库IO影响,很多人将rman备份部署在备库。在Oracle11.2.0.4版本中,出现了一个bug,使用rman备份时,无法备份归档日志。 具体如下 版本范围: Oracle Database - Enterprise Edition - Version 11.2.0.4 and later Information in this document applies to any platform. 问题描述: rman备份归档时,出现以下错误:
Starting backup at 15-JAN-2014 13:44:46 RMAN-06820: WARNING: failed to archive current log at primary database ORACLE error from target database: ORA-17629: Cannot connect to the remote database server ORA-17627: ORA-01017: invalid username/password; logon denied ORA-17629: Cannot connect to the remote database server
其他备份可以成功:
skipping archived log of thread 1 with sequence 607; already backed up skipping archived log of thread 1 with sequence 614; already backed up channel t1: starting archived log backup set channel t1: specifying archived log(s) in backup set input archived log thread=1 sequence=678 RECID=290 STAMP=836919086 input archived log thread=1 sequence=679 RECID=291 STAMP=836919369 input archived log thread=1 sequence=680 RECID=292 STAMP=836919706 input archived log thread=1 sequence=681 RECID=293 STAMP=836919873 channel t1: starting piece 1 at 15-JAN-2014 13:44:52 channel t1: finished piece 1 at 15-JAN-2014 13:46:17 piece handle=LOG_THMDB_20140115_171228_1_1 tag=LOG_TWMDB comment=API Version 2.0,MMS Version 5.4.1.0 channel t1: backup set complete, elapsed time: 00:01:25 Finished backup at 15-JAN-2014 13:46:17
引起问题的原因:11.2.0.4 之后的变化, 官网翻译: 根据错误8740124,我们现在将当前备用重做日志作为备用站点上RMAN archivelog备份的一部分。这是通过在主站点强制进行日志切换来实现的。 但是,尝试连接到主服务器时失败。 也就是,备端无法连接到主端,进行强制日志切换,造成该问题。 解决办法: 备份过程中,"我们通常使用 rman target /" 推荐使用"rman target sysdba_user/password@stby" 方式 ,需要注意,该方式,主备密码文件需要保持一致。 BUG参考:
Note from Bug: 17580082 As for having ability to connect from standby to primary, there are few options . (Option 1) is to connect as SYSDBA, like: 'rman target sysdba_user/password@stby' (Option 2) is to setup wallets using which authentication can be done (more details can be obtained from SECURITY team here), (Option 3) use CONNECT command inside the command file supplied to RMAN. For example: RMAN> connect target sysdba_user/password@stby
其他说明: 目前,仅允许SYSDBA连接以进行切换或重新同步操作。 增强请求/Bug 18070699允许使用除sys password之外的其他用户/密码连接到远程数据库以进行RMAN操作。 Bug 18070699:允许授予SYSDBA的非SYS用户名重新同步DB_UNIQUE_NAME ALL 通过搜索bug 21476308的补丁名或补丁号,可以获得此问题的补丁。
