Oracle 11g 备份任务报RMAN-06820错误案例分享

        欢迎关注“数据库运维之道”公众号,一起学习数据库技术!

        本期将为大家分享“Oracle 11g 备份任务报RMAN-06820错误”的解决方案。

        关键词:Oracle ADG主备、RMAN-06820、ORA-17629、ORA-17627、ORA-00942

        基于Oracle 11.2.0.4 版本搭建ADG主备架构的高可用环境,并将定时备份脚本部署在备节点上。检查备份日志发现数据文件备份异常,但是归档日志备份成功。错误信息如下:

启动 backup 
RMAN-06820: 警告: 无法在主数据库中归档当前日志
来自目标数据库的 ORACLE 错误:
ORA-17629: 无法连接到远程数据库服务器
ORA-17627: ORA-00942: table or view does not exist

Starting backup 
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-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)) app 
from v$archived_log where  resetlogs_id = (SELECT resetlogs_id 
FROM 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 log 
as part of an RMAN archivelog backup at the standby site. This is achieved by forcing a log switch 
at 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里的一致。

        1、全量备份脚本推荐

-------全量备份ywzd_rman_level0.bat
set ORACLE_SID=ywzddg
rman 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.txt
run{
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;
}

        2、增量备份脚本推荐

--------增量备份ywzd_rman_level1.bat
set ORACLE_SID=ywzddg 
rman 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.txt
run{
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;
}

        3、归档备份脚本推荐

--------归档文件ywzd_rman_arch.bat
set ORACLE_SID=ywzddg
rman 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.txt
run{
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错误”案例分享。希望能给大家带来帮助。

        欢迎关注“数据库运维之道”公众号,一起学习数据库技术!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值