本期将为大家分享“Oracle 11g 备份任务报RMAN-06820错误”的解决方案。
关键词:RMAN-06820、ORA-17629、ORA-17627、ORA-00942

基于Oracle 11.2.0.4 版本搭建ADG主备架构的高可用环境,并将定时备份脚本部署在备节点上。检查备份日志发现数据文件备份异常,但是归档日志备份成功。错误信息如下:
启动 backupRMAN-06820: 警告: 无法在主数据库中归档当前日志来自目标数据库的 ORACLE 错误:ORA-17629: 无法连接到远程数据库服务器ORA-17627: ORA-00942: table or view does not existStarting backupRMAN-06820: WARNING: failed to archive current log at primary databaseORACLE error from target database:ORA-17629: Cannot connect to the remote database serverORA-17627: ORA-00942: table or view does not exist

首先,检查监听程序状态是否正常,命令为lsnrctl status,结果验证监听运行正常,服务状态为ready。
然后,登录数据库检查实例状态,看到备库的Open_mode值为“READ ONLY”,表示备库没有实时在应用日志。通过SQL查看发现主备日志同步出现GAP,即日志文件没有在备库应用。
1、登录主备库检查数据库角色select t.NAME,t.SWITCHOVER_STATUS,t.OPEN_MODE,t.DATABASE_ROLE from v$database t;2、登录备库检查数据库日志同步情况,接收和应用日志的数量正常相差1个select thread#, max(sequence#) arc, max(decode(registrar||','||applied,'RFS,YES',sequence#,0)) appfrom v$archived_log where resetlogs_id = (SELECT resetlogs_idFROM v$database_incarnation WHERE status = 'CURRENT' AND rownum = 1)group by thread#;

接着,手动开启主从实时同步,解决实时同步问题。

最后,手动发起脚本备份,依旧会出现RMAN-06820错误。

查阅官方文档(Doc ID 1616074.1),并确认这是一个未发布的bug导致。
Per 'unpublished' Bug 8740124, as of 11.2.0.4, we now include the current standby redo logas part of an RMAN archivelog backup at the standby site. This is achieved by forcing a log switchat the primary site.However, the connection to the primary failed when attempting to do so.
最终解决方式是:不要使用操作系统认证的方式登录RMAN,并采用明文的方式进行登录。
修改前:$ rman target修改后:$ rman target sys/password@stby
注意,sys的密码必须与password file里的一致。

-------全量备份-------ywzd_rman_level0.batset ORACLE_SID=ywzddgrman target sys/密码@standby_ywzddg nocatalog CMDFILE 'E:\backup\ywzd\ywzd_rman_level0.txt' LOG 'E:\backup\ywzd\ywzd_rman_backup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'ywzd_rman_level0.txtrun{allocate channel c1 device type disk;backup as compressed backupset filesperset 6 incremental level 0 database format 'E:\backup\ywzd\ywzd_db_level0_%d_%T_%U.bak' plus archivelog delete all input format 'E:\backup\ywzd\ywzd_arch_%d_%T_%U.bak';backup current controlfile format 'E:\backup\ywzd\ywzd_ctl_%d_%T_%U';crosscheck backup;report obsolete device type disk;delete noprompt obsolete device type disk;delete noprompt expired backup device type disk;release channel c1;}--------增量备份-------ywzd_rman_level1.batset ORACLE_SID=ywzddgrman target sys/密码@standby_ywzddg nocatalog CMDFILE 'E:\backup\ywzd\ywzd_rman_level1.txt' LOG 'E:\backup\ywzd\rman_backup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'ywzd_rman_level1.txtrun{allocate channel c1 device type disk;backup as compressed backupset filesperset 6 incremental level 1 database format 'E:\backup\ywzd\db_level1_%d_%T_%U.bak' plus archivelog delete all input format 'E:\backup\ywzd\arch_%d_%T_%U.bak';backup current controlfile format 'E:\backup\ywzd\ctl_%d_%T_%U';crosscheck backup;report obsolete device type disk;delete noprompt obsolete device type disk;delete noprompt expired backup device type disk;release channel c1;}--------归档备份-------ywzd_rman_arch.batset ORACLE_SID=ywzddgrman target sys/密码@standby_ywzddg nocatalog CMDFILE 'E:\backup\ywzd\ywzd_rman_arch.txt' LOG 'E:\backup\ywzd\rman_backup_arch_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'ywzd_rman_arch.txtrun{allocate channel c1 device type disk;backup archivelog all delete all input format 'E:\backup\ywzd\arch_%d_%T_%U.bak';backup current controlfile format 'E:\backup\ywzd\ctl_%d_%T_%U';release channel c1;}

RMAN-06820 ORA-17629 During Backup at Standby Site (Doc ID 1616074.1)
以上就是本期关于“Oracle 11g 备份任务报RMAN-06820错误”的解决方案。希望能给大家带来帮助!
欢迎关注“数据库运维之道”公众号,一起学习数据库技术。


文章转载自数据库运维之道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




