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

【干货攻略】增量备份解决主备同步归档缺失问题

达梦E学 2024-07-23
217

点击上方蓝色字体关注我们

目前较多系统使用数据守护集群,偶尔会有备库故障导致未及时同步主库日志,并且主库经历了归档清除,这时备库恢复之后也无法正常加入集群;旧版本此情况需要重做备库,目前140以后新版本已支持使用增量备份修复备库缺失的数据。本期主要介绍如何使用主库增量备份修复备库缺失数据,并使备库可正常加入集群


01

环境说明

数据库:达梦数据库管理系统DM8。

    [dmdba@localhost ~]$ disql SYSDBA/SYSDBA:5236

    服务器[LOCALHOST:5236]:处于主库打开状态
    登录使用时间 : 7.061(ms)
    SQL> select * from v$version;

    行号 BANNER
    ---------- ---------------------------------
    1 DM Database Server 64 V8
    2 DB Version: 0x7000c
    3 03134284172-20240321-222308-20093
    4 Msg Version: 0
    5 Gsu level(3-4) cnt: 3
    6 Gsu level(5) cnt: 0


    02

    步骤说明

    01

    环境准备

    已经部署一套正常的DM数据库守护集群:

    02

    模拟备机异常

    1)停止备机守护进程和数据库服务

    2)监视器上执行show global info显示所有组的全局信息

    03

    主库进行数据写入

      SQL> select * from v$arch_status;

      行号 ARCH_TYPE ARCH_DEST ARCH_STATUS ARCH_SRC
      ---------- --------- --------- ----------- --------
      1 REALTIME GRP1_DW_02 INVALID GRP1_DW_01
      2 LOCAL     /dmarch/DAMENG   VALID       GRP1_DW_01

      SQL> create table t_test(id int, name varchar(50));
      SQL> insert into t_test(id, name) select rownum, dbms_random.string('a',30) from dual connect by rownum <=1000;
      SQL> insert into t_test(id, name) select rownum, dbms_random.string('a',30) from dual connect by rownum <=1000;
      SQL> commit;

      04

      主库清除归档日志

      手动进行日志切换,并清除日志

        SQL> alter system switch logfile;
        SQL> select SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE);
        05

        恢复故障备库

        1)启动故障备库数据库和数据守护服务

        2)主库进行了recover,但是备库并未成功加入集群,主库至备库归档仍然无效。

        主库上查询归档状态,实时归档仍然是INVALID。

        3)查看主库数据库日志有归档不连续的异常报错

        06

        查看备库当前应用的LSN号

        监视器执行show,或者备库上查询V$RAPPLY_LSN_INFO,即可查看备机当前截止重演的LSN号:
          [dmdba@localhost ~]$ disql SYSDBA/SYSDBA:5236
          服务器[LOCALHOST:5236]:处于备库打开状态
          登录使用时间 : 43.870(ms)
          disql V8
          SQL> SELECT N_EP, APPLY_LSN_ARR FROM V$RAPPLY_LSN_INFO;
          行号 N_EP APPLY_LSN_ARR
          ---------- ----------- -------------
          1 1 (51874)

          07

          主库增量备份并拷贝至备机

          在主库上基于备库应用截至的lsn号进行增量备份,并把备份文件拷贝至备库:
            [dmdba@localhost ~]$ disql SYSDBA/SYSDBA:5236
            服务器[LOCALHOST:5236]:处于主库打开状态
            登录使用时间 : 19.283(ms)
            SQL> backup database increment from lsn 51874 backupset '/dmbak/inc_bak_for_standby';
            操作已执行
            已用时间: 00:00:04.823. 执行号:15.

            08

            备库应用恢复

            1)在监视器上执行stop database GRP1_DM_02(执行前需登录监视器)。
            2)应用增量备份集恢复备库
              [dmdba@localhost ~]$ dmrman
              dmrman V8
              RMAN> restore database '/dmdata/DAMENG/dm.ini' from backupset '/dmbak/inc_bak_for_standby';
              RMAN> recover database '/dmdata/DAMENG/dm.ini' from backupset '/dmbak/inc_bak_for_standby';
              RMAN> recover database '/dmdata/DAMENG/dm.ini' update db_magic;

              09

              启动备库服务,观察恢复过程

              1)在监视器上执行startup database GRP1_DM_02启动备库

              2)观察主库并未自动启动recover流程。

              10

              执行attach将备库重新加回守护进程组

              在监视器执行attach database GRP1_DM_02,将备库重新加入集群,归档状态正常。


              03

              总结

              本次测试可成功通过增量备份(increment from lsn)修复备库的归档缺失。

              要将归档缺失的备库使用增量备份恢复加入集群,需要进行以下过程:
              • 查询备库应用归档的截至lsn
              • 主库基于备库应用的lsn进行增量备份(increment from lsn)
              • 将备份集拷贝至备库
              • 备库停机并应用增量备份集
              • 启动备库,并使用监视器attach命令手动将分离出去的备库重新加回到守护进程组

              以上为本期分享,希望能带给大家帮助。想要了解更多往期干货,可访问页面最下方#达梦技术干货攻略#合集或下方相关分享。在此邀请更多学员参与“达梦技术干货投稿活动”,稿件获选后将在达梦“干货分享”专栏进行发布,欢迎来稿!

              作者:L.

              审核:青城

              排版:达梦培训中心


              04

              一周热文

              开班通知 | 第22期DM8-DCA线上培训班招生中(2024年08月07日开班)

              开班通知 | 第23期DM8-DCP线上培训班招生中(2024年08月12日开班)

              干货攻略 | 达梦数据库DM8的Python驱动dmPython的容器化实现

              干货攻略 | 达梦数据库外部表插入数据

              干货攻略 | rowid的简单应用


              达梦E学

              微信号:DM-Elearning

              扫码关注查看更多内容

              点击下方在看,分享本文

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

              评论