在备库执行rman备份会报错,原因备份时无法连接主库强制切换日志
RMAN archivelog backup at the standby site is throws the following errors at the start of the job:
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
But the rest of the backup actually complete successfully:
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
Workaround 处理:用远程登录认证代替本地操作系统认证
Do not use operating system authentication to login with RMAN. Use a username and password.
That is, do not use just the "/" (operating system authentication) connect to the standby database:
$ rman target /
Connecting as 'rman target /'
# it gets the sys user but not the password and so, it does NOT mean it is being explicitly
# specified to connect as sysdba.
**Instead put in the username and password for the SYSDBA user:**
$ rman target sys/password@stby
Connecting as 'rman target sysdba_user/password@stby'
例子:
[oracle@dgdpl2530 rman]$ more /u01/app/oracle/scripts/rman_backup.txt
connect target sys/passwd@orclstb
run{
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt expired archivelog all;
backup as compressed backupset database format
'/data01/arch01/backup/rman/%d_DB_%U.bak' plus archivelog
format '/data01/arch01/backup/rman/%d_ARCH_%U.bak' delete all input;
backup current controlfile format '/data01/arch01/backup/rman/%d_CTRL_%U.bak';
backup spfile format '/data01/arch01/backup/rman/%d_SPFILE_%U.bak';
delete noprompt obsolete Recovery Window of 7 days;
}
参考:
RMAN-06820 ORA-17629 During Backup at Standby Site (Doc ID 1616074.1)
Howto make a consistent RMAN backup in an Standby database in Active DataGuard mode (Doc ID 1419923)