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

【达梦干货攻略】DM8数据库增量备份和恢复

达梦大学 2021-03-25
6244


点击上方蓝字关注我吧!



生产环境中数据库备份必不可少,如果每天都全量备份,占用磁盘空间较大,时间也较长,所以生产环境一般采用全量加增量的备份策略。

增量备份是在某个特定基备份集基础上,收集新修改的数据页进行备份,可以有效减少备份集的空间占用、提高备份速度。本次我们来介绍DM8数据库的增量备份。


本章内容已在如下环境上测试:
①操作系统:中标麒麟7;
②数据库版本:达梦8;
相关关键字:incrementcumulative,累积增量备份,差异增量备份,[-8036]:无基备份或无匹配基备份

增量备份

DM8增量备份分为差异增量备份和累积增量备份,缺省为差异增量备份。差异增量备份的基备份集可以是增量备份集也可以是全量备份集,可以是冷备的备份集,也可以是热备的备份集。累积增量备份的备份集只能是全量备份的备份集。


这里以联机热备方式为例(联机备份需保证数据库已开启并配置归档,此处步骤略),对数据库进行增量备份。在增量备份之前,我们首先要做一次全备,使用SYSDBA用户登录数据库,执行如下语句全量备份数据库:

    SQL> backup database full backupset '/dm8/backup/fullbak_20200316';


    1、差异增量备份

    使用increment关键字可以进行增量备份,默认为差异增量备份,执行如下语句进行差异增量备份,这里做两次增量备份:

      SQL> backup database increment backupset '/dm8/backup/incr/incrbak_20200317_1';
      SQL> backup database increment backupset '/dm8/backup/incr/incrbak_20200317_2';

      如果执行中报如下错误[-8036]:无基备份或无匹配基备份,是因为系统在数据库的默认备份路径或当前指定的备份集路径的上层目录找不到基备份集:


      数据库默认备份路径在系统参数BAK_PATH中配置,该参数为只读参数,只能通过修改dm.ini配置文件来修改此参数。


      也可以使用with backupdir关键字来指定基备份集的搜索目录:

        SQL> backup database increment with backupdir '/dm8/backup' backupset '/dm8/backup/incr/incrbak_20200317_1';
        SQL> backup database increment with backupdir '/dm8/backup' backupset '/dm8/backup/incr/incrbak_20200317_2';


         

        使用DMRMAN工具查看增量备份集信息,可以看到第一个差异增量备份的基备份集是全量备份集fullbak_20200316,第二个备份集的基备份集是第一次的差异增量备份集incrbak_20200317_1:

          RMAN> show backupset '/dm8/backup/incr/incrbak_20200317_1';
          RMAN> show backupset '/dm8/backup/incr/incrbak_20200317_2';



          2、累积增量备份

          指定关键字cumulative可以进行累积增量备份,使用如下命令进行累积增量备份:

            SQL> backup database increment cumulative with backupdir '/dm8/backup' backupset '/dm8/backup/incr/incrbak_20200317_3';


            使用show backupset命令查看备份集,可以看到该备份集的基备份集是第一次全量备份的备份集fullbak_20200316。


            二、

            使用增量备份恢复数据库


            下面演示使用增量备份集恢复数据库,恢复之前,需保证待恢复的目标库为关闭状态。

            执行如下命令停止数据库:

              [dmdba@localhost bin]$ DmServiceDMTESTSERVER stop


              使用restore命令还原数据库,如果增量备份基备份集不在数据库默认备份路径或者指定的备份集路径的上层目录,则会报错[-8036]:无基备份或无匹配基备份:


              此时可以使用with backupdir关键字指定基备份集搜索目录(指定基备份集的上层目录):

                RMAN> restore database '/dm8/data/DMTEST/dm.ini' from backupset '/dm8/backup/incr/incrbak_20200317_2' with backupdir '/dm8/backup';



                数据库还原之后,正常使用备份集或者归档恢复数据库,并更新数据库魔数即可。

                  RMAN> recover database '/dm8/data/DMTEST/dm.ini' from backupset '/dm8/backup/incr/incrbak_20200317_2';
                  RMAN> recover database '/dm8/data/DMTEST/dm.ini' update db_magic;



                  累积增量备份集与差异增量备份集还原和恢复数据库方式无差异:


                  总结


                  1、 DM数据库默认增量备份方式为差异增量备份。差异增量备份的基备份集可以是增量备份集也可以是全量备份集,累积增量备份的备份集只能是全量备份的备份集。

                  2、 如果不指定备份集搜索目录,数据库默认在指定备份集的上级目录和数据库默认备份路径下找最新的备份集作为基备份集。差异增量备份取所有备份集中最新的备份集作为基备份集(包含全量和增量),累积增量备份取最新的全量备份集。

                  3、 使用差异增量备份集还原数据库时,基备份集和基备份集依赖的备份集都不能丢失(比如差异增量备份集D基于增量备份集C,C基于增量备份B, B基于全量备份A,则A、B、C备份集都不能丢失),否则将无法完成恢复,报错[-8036]:无基备份或无匹配基备份。累积增量备份的备份集只需要基础全量备份集完整即可。


                  以上是本次干货攻略的分享内容,希望能给大家带来帮助,谢谢。




                  往期回顾

                  干货攻略‍‍丨修改表空间数据文件位置‍‍

                  干货攻略丨Oracle通过ODBC创建DBLINK连接DM

                  干货攻略丨达梦数据库存储加密
                  干货攻略丨数据库还原之制定映射路径还原
                  干货攻略丨dmfldr大字段数据装载

                  近期热点


                  内容丨程青

                  编辑丨王

                  校对丨青城


                  最后修改时间:2021-03-25 17:35:13
                  文章转载自达梦大学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论