暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【问题诊断】Oracle 11g 备份任务报RMAN-06820错误

573

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

关键词: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里的一致。

            -------全量备份-------
            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;
            }


            --------增量备份-------
            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;
            }


            --------归档备份-------
            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错误”的解决方案。希望能给大家带来帮助!

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

            欢迎加我的微信,拉你进数据库微信群,请备注”进群“!

            【干货攻略】Oracle报错篇 ORA-01378 磁盘扇区大小不兼容问题
            【应知应会】开启块修改跟踪特性提升备份效率
            【干货攻略】基于NBU备份软件进行Oracle数据库异机恢复

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

            评论