云备份 CBR Dameng 备份恢复用户指南

举报
云小敏 发表于 2025/07/29 17:13:58 2025/07/29
【摘要】 本文档是达梦数据库定时备份恢复用户指南,主要描述了如何正确地使用CBR进行达梦数据库定时备份恢复,包括部署前后的注意事项和典型部署方案。

1 概览

本文档是达梦数据库定时备份恢复用户指南,主要描述了如何正确地使用CBR进行达梦数据库定时备份恢复,包括部署前后的注意事项和典型部署方案。

1.1 达梦数据库备份

完全备份
完全备份,指备份中包含了指定的库(或者表空间)的全部的有效数据页,这样的一个备份通常会很大,且备份持续时间也比较长。对于一个需要经常备份的系统,执行这样的备份是比较消耗时间和空间的。
增量备份
增量备份,指基于指定的库(或者表空间)执行的备份,备份自上一次备份以来所有发生修改了的数据页,则这上一次备份称为该增量备份的“基准”。相对而言,这样一个备份通常很小,备份也很快且占用空间也会比较少。在还原增量备份时,首先会还原其基准备份,然后依次还原离基准备份最近的增量备份。
差异备份
差异备份,指基于指定的库(或者表空间)执行的备份,备份自上次完全备份以来所有发生修改了的数据页,该次完全备份称为该差异备份的“基准”。相对而言,这样一个备份通常很小,备份也很快且占用空间也会比较少。在还原差异备份时,首先会还原其基准备份,然后依次还原离基准备份最近的差异备份。
事务日志备份
事务日志备份,是专门针对归档日志文件进行操作,不涉及任何数据文件内容。事务日志备份扫描归档目录,备份自上次完全备份以来记录数据发生变更的日志文件,该次完全备份称为该事务日志备份的“基准”。在还原事务日志备份时,首先会还原其基准备份,然后按指定时间点依靠日志恢复数据。

1.2 达梦数据库恢复

恢复方式

  • 实例恢复:数据源粒度为实例,使用之前的数据库备份集来实现数据库的还原,通过恢复备份时间点将数据库恢复到最新及指定时间点的状态,恢复前需要停止待恢复的达梦客户端的数据库服务。
  • 表空间恢复:数据源粒度为表空间,选择需要恢复的表空间进行恢复,且不影响其他表空间的正常运行。只支持用户表空间恢复,不支持系统表空间的恢复。

达梦集群目前只支持实例恢复,不支持表空间恢复。

2 限制性列表

达梦单机

备份

  • 达梦数据库备份恢复必须开启归档日志。
  • 新建表空间后立即发起完备,备份文件缺少一部分,但不影响数据完整性和恢复正确性。
  • 完备成功后立即发起增量备份会失败,需要有新增事务或者数据,再发起增备才能成功。
  • 部分系统var/log/HBRBackup/HBRClientService_dmdba目录的权限不够,无法写入日志,将目录权限改成755,-- 日志即可正常生成,备份恢复任务执行完成后客户端进程无残留。
    恢复
  • 表空间恢复前要将达梦实例置于开启状态。
  • 实例恢复前要将达梦实例置于关闭状态。
  • 不支持跨平台恢复(Windows、Linux不支持任意两个平台互相恢复)。
  • 不支持不同位数的达梦数据库之间互相恢复。
  • 由于实例恢复后DB_MAGIC更新,直接发起表空间恢复会失败,不支持此操作。
  • 备份过程中插入数据,恢复时需要预留足够的空间写日志。
  • 表空间恢复当前只支持将表空间恢复为最新可用状态,无法恢复删除的数据,数据恢复可使用实例恢复。
  • 达梦8恢复只支持实例恢复,不支持表空间恢复。
  • Windows 客户端不支持表空间恢复。
  • 实例名和实例服务名不一致,恢复后联机开启后,恢复成功后需要手动启动实例。
    其他
  • Windows环境客户端需要手动替换dmsbtex.dll文件,否则授权失败,备份失败。
  • 不支持无dmsbtex.dll文件的数据库备份。

达梦集群

备份

  • 备份时需要集群关系正常,集群中至少有一个主节点,备节点可以有多个。
  • 达梦数据库备份恢复必须开启归档日志。
  • 新建表空间后立即发起完备,备份文件缺少部分,备份会生成三个文件,分别是.meta、.bak、.bak_1文件,此处缺少的是.bak_1文件,但不影响数据完整性和恢复正确性。
  • 完备成功后立即发起增量备份会失败,需要有新增事务或者数据,再发起增量备份才能成功。
  • 备份过程中暂停任务,下次执行同一任务时需要重启DMAP服务,不然备份失败,报“锁超时”。可以到目标机器的达梦安装路径下的/bin路径下找到DMAP服务名,执行./DmapService restart重启服务。
  • 如果达梦集群节点的达梦日志路径下的四个文件属主为root,则会出现备份失败情况,因为备份过程中需要向这四个日志文件写数据,权限不足会导致备份失败。
    恢复
  • 达梦集群只支持粒度为实例级别的恢复。
  • 实例恢复前要将达梦实例置于关闭状态,如果是恢复到集群中某一节点,集群中该节点的守护进程也要关闭,防止守护进程自动拉起实例服务。
  • 不支持跨平台恢复(Windows、Linux不支持任意两个平台互相恢复)。
  • 不支持不同位数的达梦数据库之间互相恢复。
  • 备份过程中插入数据,恢复时需要预留足够的空间写日志,预留空间根据备份过程中插入据的多少来预留。
  • 创建任务时不需要勾选恢复后启动实例服务选项,因为达梦集群不支持自动启动,需要手动启动。

3 达梦数据库备份环境检查

3.1 Windows 环境备份恢复前置条件检查

3.1.1 客户端服务和数据库服务检查

完成客户端安装,在程序组中输入services.msc,打开服务管理界面,可以查看客户端的服务(HBRClientService)是否正常启动,若是正常启动,查看是否连接上备份服务器,连接上之后,无需特别配置,就可以创建文件系统的定时备份任务。

  1. 打开服务管理界面查看客户端服务和数据库服务。
  2. Windows环境备份前达梦数据库状态查询。
  3. Windows环境恢复前达梦数据库实例服务状态为关闭状态。

3.1.2 DmAPServer 服务检查

DmAPServer服务必须处于开启状态,才能保证数据库备份恢复正常进行。
管道问题导致的备份失败,需要查看DmAPServer服务是否正常。

3.1.3 备份恢复前信息确认修改

  1. 确认达梦数据库环境变量正常。
    进入控制面板->系统和安全->系统页面,单击高级系统设置,在系统属性中选择环境变量,然后进行修改:Path中添加数据库安装路径和客户端安装路径,添加DM_HOME。
  2. 确认开启归档日志。
    查看归档日志是否开启:select arch_mode from v$database;
    如归档日志未开启,请按照以下步骤开启:
    1. 修改配置文件dm.ini。
    2. 新建归档路径,并配置对应文件dmarch.ini。
      开启归档状态显示为Y,未开启归档状态显示为N,修改ARCH_INI参数由0改为1可开启归档日志,归档路径为真实存在路径,dmarch.ini文件可手动创建,但必须为ini格式。

3.1.4 导入SBT库文件

  1. 安装完客户端后,需要复制安装目录下的dmsbtex1.1.dll\dmsbtex2.1.dll(根据不同版本选择任一,7.6版本之前一般选择1.1,7.6版本之后的选择2.1)文件替换数据库安装bin目录下的dmsbtex.dll,并修改名称为dmsbtex.dll。
  2. 重启数据库实例服务和DmAPServer服务。

3.2 Linux备份恢复前置条件检查

客户端服务检查
Linux环境达梦备份要求同Windows相似,查看客户端服务或者进程,能正常连接到备份服务器,即可执行定时备份任务,检测命令以CentOS7为例:
systemctl status HBRClientService.service
ps -ef | grep esf

DmAPServer 服务检查
备份恢复前必须启动DmAPServer服务。

  • Linux 7以下的环境DmAPServer服务位置和状态查看:
  • Linux 7的环境DmAPServer服务位置和状态查看:

    修改服务状态可修改参数status为stop、start、restart,分别对应关闭,开启,重启。

归档日志开启确认
查看归档日志是否开启:select arch_mode from v$database;
如归档日志未开启,请按照以下步骤开启:

  1. 修改配置文件dm.ini。
  2. 新建归档路径,并配置对应文件dmarch.ini。
    开启归档状态显示为Y,未开启归档状态显示为N,修改ARCH_INI参数由0改为1可开启归档日志,归档路径为真实存在路径,dmarch.ini文件可手动创建,但必须为ini格式。

Linux 数据库状态检查
查看数据库状态,确保数据库为开启状态。

  • Red Hat 7环境:systemctl status/stop/start/restart 数据库服务–查看/停止/启动/重启客户端服务,确保数据库服务处于启动状态,例如:systemctl status DmServiceDMSERVER.service
  • Linux环境:可在数据库安装bin目录下使用**./DmServiceDMSERVER status/stop/start/restart**–查看/停止/启动/重启客户端服务。

备份恢复前信息确认

  1. 确认达梦数据库登录名密码,且数据库正常登录。
  2. 确认达梦数据库环境变量正常。
    查看环境变量:cat /etc/profile
    修改环境变量:vi /etc/profile

SBT 文件依赖确认
原因:
由于部分Red Hat 5、Red Hat 6和Red Hat 7的版本中自带的libstdc++.so.6的版本不够,导致SBT文件加载失败。el7的环境一般不存在这个问题。
解决办法:

  1. 安装完客户端包之后,先检查SBT的依赖有没有问题。
    1. cd 到达梦的bin目录下面
    2. 执行ldd libdmsbtex.so
  2. 如果出现“version ‘GLIBC_3.4.20’ not found (required by ./libdmsbtex.so)” 内容,说明系统中的libstdc++.so.6的版本需要更新。
    产品包中有最新配套的libstdc++.so.6的插件,可做如下处理:
    1. 先检查原有系统中的链接详情。
      ll /usr/lib64/libstdc++.so.6
    2. 取消掉原有的软链接。
      unlink /usr/lib64/libstdc++.so.6
    3. 新建一个一样的软链接链接到客户端安装目录下:
      ln -s /eisoo/AnyBackupClient/ClientService/libstdc++.so.6 /usr/lib64/libstdc++.so.6
      ll /usr/lib64/libstdc++.so.6
    4. 重启下达梦的DmAPService服务
      /etc/init.d/DmAPService restart
      以上步骤为具体处理过程,可在安装完版本包后进行如上检查,不建议频繁做该操作。

实例名与实例服务名一致性检查

  • 查看实例服务名与实例名一致,则界面正常授权,备份恢复正常。可以通过对比配置文件中实例名与DmService对应服务名称是否一致。
  • 查看实例服务名与实例名不一致,则执行如下步骤:
    1. 检查环境中DM_HOME变量所在的目录,使用命令echo $DM_HOME
    2. 到查出的DM_HOME目录下面,建立相应实例名的文件夹,根据实际备份的需要,新建对应文件夹个数;
    3. 把每个实例对应的配置文件(一般是dm.ini,存放位置在对应实例所在的数据目录下面)拷贝到DM_HOME目录下第1步对应实例名的新建文件夹里面,特别注意是拷贝,不是移动。
    4. 完成后展开授权界面,查看是否已经是正常的实例名字。

3.3 达梦集群备份恢复前置条件检查

集群单个节点
参考3.2对集群单个节点进行检查。
集群关系
集群中至少有一个主节点,备节点可以有多个,集群至少有一个确认监视器,确认监视器可以自动检测集群关系是否正常,在恢复备份数据后可以自动重建集群关系。

备份时集群中主节点的实例服务和守护进程必须正常,集群中至少有一个备节点的实例服务和守护进程是正常的,确认监视器正常。
恢复时要提前手动停掉目标机的实例服务,如果目标机是非集群节点,只需停掉实例服务即可,通过ps -ef|grep dms指令查到达梦实例服务的进程ID后通过kill -9 进程ID命令来停掉实例服务。 如果目标机是集群中的某个节点,则需要先关闭该节点的守护进程(防止重启实例服务),具体步骤为ps -ef|grep dmw查询到守护进程的进程ID,然后通过指令kill -9 进程ID关掉守护进程;然后关掉实例服务,步骤和关闭非集群节点的实例服务相同,之后就可以向目标机恢复数据了。

4 数据备份

4.1 数据库备份相关说明

命名规则说明

  1. 【命名规则】:用户名、任务组、任务等对象命名规则满足:中文、大小写字母、数字、“-”、“_”、“.”、“@”组成,长度为3~256个字符,全局不可重复。
  2. 【邮件命名规则】: Email 地址只能由字母A~Z,a~z、数字 0~9 及特殊字符 @.-_ 组成,类似于yourname@domain.com的形式,且最长不能超过50个字符。
  3. 【备注信息规范】:文本类型无限制,长度0~50个字符。

4.2 达梦集群创建虚拟客户端

  1. 租户或操作员登录管理控制台,单击左侧导航栏【资源】→【客户端】,进入“客户端”页面。
  2. 单击【新建虚拟客户端 】按钮,在下拉列表选择【达梦主备集群虚拟客户端】。
  3. 填写虚拟客户端名称,并选择达梦集群所有节点,单击【创建】。

4.3 达梦数据库客户端授权

  1. 租户或操作员登录管理控制台,单击左侧导航栏【资源】→【客户端】。
  2. 默认组选择达梦客户端,右侧窗口选择权限配置,选中达梦数据图标,单击“+”展开实例列表。
  3. 单击实例名后的“未授权”,弹窗填写用户名、密码、端口号。

4.4 达梦数据库定时备份

新建达梦定时任务步骤
达梦单机与集群新建定时备份任务步骤相同,以下以Linux客户端单机备份为例:

  1. 租户或操作员登录管理控制台,单击【定时数据保护】>【数据备份】,单击【新建】按钮 > 选择【数据级备份任务】>请选要保护的对象 > 选择【客户端】> 选中对应的客户端>选择【达梦数据库】,单击【下一步】按钮。

  2. 单击“+”号展开数据源,达梦定时备份任务支持自动发现数据源的功能,浏览到环境下数据库后,此时单击“+”号,可以正常展开数据源,选择用户,选择一个或者多个实例,勾选数据源。

数据源最多展开100个,在数据源较多时,会出现“更多…”的提示,此时需要展开更多的数据源时,单击“更多”即可。
3. 选择完要备份的数据之后,单击【下一步】,可以看到备份介质和选项。
备份介质,必填项,默认项:OFS。
在选项中,勾选需要开启的高级功能选项,各个选项说明如下:
【DSC】针对达梦DSC共享存储集群备份时,需要勾选。
【LAN-Free】使用FC链路传输备份数据时,需要勾选。
【传输和存储加密 】开启传输加密与存储加密选项,开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式:AES256加密算法、SM4加密算法。
【数据压缩】默认不开启;开启后默认启用快速压缩,可选择启用强力压缩。
【重复数据删除】勾选该选项可以启动源端重复数据删除的功能,该选项,在建立任务后,不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能。
【重删高级配置】默认不开启,只有在开启【重复数据删除】后改选项才可以开启,可以配置数据切片并发数、计算指纹并发数、压缩数据并发数。
【自定义脚本】单击【浏览】按钮,浏览原客户端目录中含有的可执行脚本,在建立任务后可以通过编辑任务选项,勾掉该选项。一共支持三种自定义脚本:备份前执行、备份成功执行、备份失败执行。
【备份自动重试】默认为不开启;开启后,可以设置自动重试最大次数和对重试等待时间。
【备份数据一致性校验】默认不开启,开启后可选择MD5或CRC32加密算法。
【归档日志删除策略】默认不开启;开启后会根据设置删除archive归档日志。
【流量控制】默认为不开启;支持分时段限速,限速范围0-1024MiB/s。
【强制数据保留】默认不开启;开启后,则保留时常内的数据无法被清理,同时该策略在编辑时,保留时长只能增加不能减少,也无法关闭该选项。
如果客户端时虚拟客户端,也就是为达梦集群创建备份任务时,该界面会有备份模式选择按钮,分别时“仅从备机备份”,“仅从主机备份”,“优先从备机备份”,“优先从主机备份”。
4. 设置完成后,单击【下一步】按钮,进入任务名称和备注页面。
5. 输入名称,单击【完成】,弹出任务信息确定对话框,单击【确定】,新建任务完成。如果勾选【任务生成后立即执行】,再单击【确定】,任务新建完成后立即执行。
6. 设置完毕,如果资源足够,请立即开始一次完全备份。选中任务,单击【启动】按钮,选择备份方式,单击【启动】按钮,即可开始备份操作。
7. 任务发起成功之后,单击【详情】,查看任务详情。
8. 任务发起成功之后,单击【时间点】,查看时间点弹窗。
9. 单击【监控】,可以查看任务执行信息。
10. 单击【详情】,可以查看任务监控的执行概要和执行输出。
11. 单击【历史记录】,可以查看任务历史信息。
12. 单击【详情】,可以查看任务历史记录的执行概要和执行输出。

4.5 新建备份策略

4.5.1 新建备份策略步骤

租户或操作员登录管理控制台,单击【定时数据保护】>【策略】,选择备份策略,单击【新建】按钮 > 输入策略模板名称 > 选择备份周期。
备份周期:默认不开启,视为一次性计划。开启则下方出现天、周、月的单选按钮,以及重复发起开关。选中“天”时,出现天数选择控件,默认:每1天,范围:1~365天;选中“周”时,出现周几的多选控件,默认:选中周日,范围:周一至周日,可多选;选中“月”时,出现选择每月几号的下拉多选控件, 默认:选中每月1日,范围:1-31可多选,未选几号时需提示必填。若当月无选定日期则在最后一天触发,例如九月份无31号,但是日期选中了31号,则默认在9月30号即九月最后一天触发任务。
重复发起:默认关闭。若开启,则出现“持续时间”和“频率”设置;意义为:在一定的【持续时间】内,依【频率】发起多次备份。【持续时间】范围:1~59分钟,1~24小时,默认值24小时【频率】范围:1~59分钟,1~24小时,默认值1小时【频率】不可超过【持续时间】。

4.5.2 备份策略使用步骤

  1. 备份策略新建完成后,单击【定时数据保护】>【数据备份】,选中任意一条任务,单击【策略】,给任务添加策略。单击【添加】按钮,选择备份策略—>选择备份方式—>发起时间,添加成功后,单击【确定】,为任务新建策略成功。其中,备份方式:分为完全备份、增量备份、差异备份。

    发起时间为必选项,意义为:发起计划的具体时间;格式:YYYY-MM-DD HH:MM,精确到分钟,默认显示:当前时间, 设置时间不可早于当前时间。

  2. 添加成功后,单击【确定】,任务出现策略图标和下次发起时间,代表策略添加成功。
    如果在持续时间内达到了触发时间,上一个备份任务还没有结束,则不会发起备份。

4.6 新建备份数据保留策略

4.6.1 新建备份数据保留策略步骤

  1. 租户或操作员登录管理控制台,单击【定时数据保护】>【策略】,选择备份数据保留策略,单击【新建】按钮 > 输入策略名称 > 打开数据保留策略。
  2. 数据保留策略:默认不开启,视为一次性策略。开启则下方出现数据保留期限、严格保留、保留副本个数、按备份策略的备份周期设置副本保留策略类别。
    选中“数据保留期限”时,出现天数选择控件,默认:1年,范围:1~999年;
    选中“月”时,默认:1月,范围:1~999月;
    选中“周”时,默认:1周,范围:1~999周;
    选中“日”时,默认:1日,范围:1~999日。
    开启严格保留时,副本中任一时间点未超过保留周期,则保留副本。
    选中“副本保留个数”时,默认:2个,范围:1~1024个。
    选择“按备份策略的备份周期设置副本保留策略”:
    按天备份策略,副本保留数(个):默认勾选,默认30个,范围:1~99999个;
    按周备份策略,副本保留数(个):默认勾选,默认24个,范围:1~99999个;
    按月备份策略,副本保留数(个):默认勾选,默认12个,范围:1~99999个;
    按年备份策略,副本保留数(个):默认勾选,默认1个,范围:1~99999个。
    开启完整副本保留配置,任务执行备份结果为部分成功,则不进行副本清理。

4.6.2 编辑备份数据保留策略

  1. 租户或者操作员登录管理控制台,单击定时数据保护-策略-备份数据保留策略。
  2. 在当前界面,选中一条数据保留策略模板,单击【编辑】按钮,系统弹出“编辑数据保留策略模板”对话框。
  3. 在对话框中编辑严格保留配置,系统弹出“提示”对话框。
  4. 在对话框中编辑完整副本保留配置,系统弹出“提示”对话框。
  5. 确认无误后,单击【确定】按钮完成操作。

4.6.3 数据保留策略使用步骤

  1. 备份数据保留策略新建完成后,单击【定时数据保护】>【数据备份】,选中任意一条任务,单击【策略】,给任务添加策略。单击【添加数据保留策略】或者【移除数据保留策略】
  2. 添加成功后,单击【确定】,查看任务详情,有策略显示,代表策略添加成功。

5 数据恢复

5.1 达梦数据库定时恢复

采用数据恢复的方式进行恢复操作。
【实例完全恢复】恢复到目标时间点的实例状态。
【实例不完全恢复】恢复到目标时间点之后的任一时间的实例状态。
【表空间恢复】确保数据库持续工作,保证表空间正常可用。双机不支持表空间恢复,只支持实例恢复。

备份任务恢复

恢复注意事项

  • 实例恢复,需要目标实例处于关闭状态。
  • 表空间恢复,需确保目标实例服务在线。
  • 目前不支持多实例同时恢复到同一台目标机,只能依次执行,因为达梦数据库的DMAP工具只有一个。
    恢复步骤
    达梦单机和双机的恢复步骤相同,以下以达梦单机为例说明:
  1. 在【定时数据保护】>【数据恢复】界面中,单击【新建】按钮,创建数据恢复任务。
  2. 选择要恢复的任务,单击【下一步】,选择恢复方式:实例恢复或者表空间恢复,选择要恢复的时间点及数据。
  3. 集群备份数据恢复时暂不支持表空间恢复,故此处表空间选项为禁用。
  4. 选择恢复目的地,默认为-请选择客户端。此处为必填,单击【选择】按钮后,能看到已分配给当前操作员的所有客户端,原客户端有前缀提示,方便查找选择,也可以选择异机作为恢复目的端,表空间恢复只有选择自定义脚本,默认恢复原实例。若恢复时不勾选“恢复后使数据库联机”选项,恢复完成后实例为关闭状态,此时可以手动追加本地日志,启动实例则需要手动更新db_magic。
  5. 不完全恢复可恢复到目标时间点之后的任一时间的整个实例状态。
  6. 达梦集群恢复时,只支持“异实例恢复”,所以此处“原实例恢复”单选框处于禁用状态。
  7. DSC集群的备份数据,可以恢复到普通单机,也可以恢复到DSC集群中某节点,恢复到DSC集群某节点前,必须停止DSC集群所有节点的实例,恢复后再重启。
  8. 选择完毕后,然后单击【下一步】,查看任务名称。
  9. 单击【完成】。弹出任务信息确认对话框,输入YES,单击【确定】可新建成功任务
  10. 恢复任务名不可自行输入,格式为“rec-[备份任务的名称]”。若有重复,则加数字后缀,递增加1,如:rec-task01 (1)、rec-task01 (2)、rec-task01 (3)…。如果任务已经删除,则命名规则是rec-新建时间-[备份任务的名称]。
  11. 在确认无误后,输入“YES”,单击【确定】完成新建数据恢复操作。放弃恢复可直接取消本次操作。
  12. 单击查看详情,可以看到数据恢复任务详情和执行信息。默认展示任务详情。
  13. 单击【执行信息】可以查看执行概要。

6 达梦集群恢复场景

恢复到达梦单机环境中
这里的单机广义上讲既可以是自始至终未加入集群关系的单机,也可以是从达梦集群中脱离出来的单机。来自集群的备份数据恢复到单机后,由于集群中各个节点的模式不会是normal模式,比如主节点是primary模式,备节点是standby模式,这两种模式存在许多操作限制,所以来自集群的备份数据恢复到单机后,如果要对数据进行增删改查,则需要在恢复到单机后手动启动实例服务,指令为./dmserver dm.ini mount(达梦安装目录的/bin目录下),启动实例服务后通过disql登录数据库实例,修改全局变量ALTER_MODE_STATUS为1(该变量为1后数据库允许用户修改数据库模式和状态),修改全局变量的指令为SP_SET_PARA_VALUE(1,’ALTER_MODE_STATUS’,1);之后修改数据库库模式为normal,指令为alter database normal;之后该单机即可正常工作。
恢复到达梦集群环境中
如果想利用来自集群的备份数据快速恢复集群关系,则可以将一份备份数据分别恢复到集群中的主机和备机。恢复到集群两节点前一定确保集群中的主备节点的守护进程和实例服务都是关闭状态,同时要确保集群的确认见识起工作正常。
操作步骤

  1. 将一份备份数据恢复到集群中某节点,恢复步骤与恢复到单机相同,参照第5章。
  2. 将同一份备份数据恢复到集群中另一节点,恢复步骤与恢复到单机相同,参照第5章。
  3. 启动步骤1中恢复节点的实例服务,需要手动以Mount状态启动两节点的实例服务,指令为./dmserver dm.ini mount(达梦安装目录的/bin目录下)。
  4. 启动步骤2中恢复节点的实例服务,启动步骤与步骤3相同,注意指令的dm.ini参数路径要指示正确。
  5. 启动步骤1中恢复节点的守护进程,指令为./dmwatcher dmmatcher.ini
  6. 启动步骤2中恢复节点的守护进程,指令和步骤5相同,注意将dmatcher.ini的路径配置正确。
  7. 之后集群确认监视机会挑选一个节点作为集群的主节点,剩余节点为备节点,集群关系会重新恢复正常。
    建议恢复集群关系的流程时,同一份备份数据分别恢复到集群的两节点上,然后启动两节点实例服务,然后启动两节点守护进程,这样集群的确认监视机就会重新分配一个节点作为主节点,集群关系可以恢复正常。
    一份数据分别恢复到集群中两节点后,启动实例服务后,不可以手动修改每个节点实例服务的数据库模式,手动修改后集群关系将无法恢复。

7 数据清理

  1. 租户或操作员登录管理控制台,单击【定时数据保护】>【数据清理】,在数据清理界面单击【新建】按钮,新建数据清理任务。
  2. 选择任务,单击【下一步】,请选择要清理的副本,默认清理全部副本。可以选择清理指定副本。
  3. 在清理全部时间点选项下,最新时间点可以被清除。选择清理部分时间点时,最新时间点一定不能删除。
  4. 单击【下一步】,弹出任务确认界面,单击【完成】。
  5. 弹出数据清理信息确认界面,输入YES。此处区分大小写,必须填大写半角英文字母。
  6. 数据清理完成之后,分别检查OFS卷空间是否相应的发生变化。
    数据清理是在后台进行删除的,可能需要一段时间才能完全删除。

8 策略配置

备份策略设置推荐
在设置“备份数据保存完全副本数”时,可能会出现这样的错误操作。假设这样一个场景,使用者tom设置“最大保存完全副本数”为2,备份策略是每隔3个小时进行一次完全备份,上午8:00备份任务开启,下午2:00时,就会出现两个完全备份集。按照备份策略,下午2:00会进行一次完全备份,因为tom设置只保留2个完全备份集,所以在产生下午2:00这个完全备份集后,会根据副本删除策略删除上午8:00的完全备份集,造成数据丢失。所以请您在考虑完全备份操作执行的时间间隔因素后,再设置合理的备份策略。
达梦备份包括:完全备份、增量备份、差异备份。
针对用户的实际情况,及用户的IO需求、安全需求等,请仔细考虑计划策略的设置。在这里,推荐用户能够至少保证一个月的数据安全:
每周末数据应用比较平缓的时候,进行一次完全备份;
隔两日晚时进行一次差异备份;
每日白天,隔一定时间做一次增量备份,比如每日中午、晚上可以各进行一次增量备份;
设置保留完全备份副本数为4,这样能够保证近28天的数据不会被丢失;
将日志存放于安全的镜像区域。

9 FAQ

备份
Q1:发起完备后直接在发起增量备份或者差异备份,报错:err_msg = 起始LSN[90093]小于等于基备份结束LSN[90095]:
【问题原因】无数据更新,发起增备和差异备份会失败,是数据库本身限制。
【解决方案】备份数据源有数据变化的增量备份和差异备份可备份成功,或者在完备成功后等待至少五分钟时间再次发起增量备份或者差异备份即可成功。
Q2:发起备份恢复时,出现报错err_msg = 锁超时或者err_msg = 管道连接失败:
【问题原因】DmAPService服务停止导致,导致DmAPService服务停止有以下几种情形:1、由于客户端换包或者更换客户端连接控制台,有一定几率可能出现,该现象是管道残留导致;2、网络问题导致;3、有可能是备份失败或者备份异常之类的,导致数据库的DmAPService服务停止。
【解决方案】删除残余管道,进入数据库安装路径**/dmdbms/bin输入命令:rm -rf DM_PIPE,重启DmAPService服务,再次发起备份恢复即可成功。
Q3:发起备份恢复时,失败出现报错:系统处于mount状态:
【问题原因】数据库状态不对,实例为mount状态,会导致备份失败或者表空间恢复失败。
【解决方案】修改实例状态,更改实例状态为open,命令:alter database open。
Q4:备份有概率失败保持:err_msg = bakres与DMAP消息通信失败, err_code = -7169。
【问题原因】归档日志占空间较大(大致600GB以上),达梦发送启动备份和停止备份的消息阻塞超时,会有概率导致消息发送失败,导致备份失败。
【解决方案】
若DmAPService服务停止,请启动DmAPService服务。
若DmAPService服务正常,重启下DmAPService服务,再次发起任务。
若方法2未解决问题,跟用户确认归档日志可删除的情况下(如果用户不同意删除日志,禁止进行此操作),可删除部分不使用的日志再进行备份,具体操作方式如下:
登录备份的达梦实例,使用命令删除掉一部分不需要使用的归档日志文件。
命令为:SELECT SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE - 天数);,可以删除掉这个天数之前的所有归档日志。如:SELECT SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE - 3);将删除掉三天前的归档日志。
若清理归档日志无法解决问题,跟用户确认可重启DmAPService服务的情况下(如果用户不同意重启服务,禁止进行此操作),重启DmAPService服务解决此问题。说明:DmAPService是管道服务,备份的时候才会用到,此服务停止仅影响数据备份,不会对用户的数据库业务造成影响。
Q5:实例授权时提示DM_HOME环境变量未设置正确。
【问题原因】部分达梦安装后不会生成DM_HOME环境变量,需要用户手动添加,DM_HOME环境变量未设置或不正确时执行Install_Secret.sh,会导致写入rootenv里的信息不正确,以至于授权页面无法展开实例。
【解决方案】
请在执行Install_Secret.sh脚本前设置正确的DM_HOME环境变量。
如果已经执行完脚本,可修改rootenv文件,将DM_HOME配置正确。
Q6:授权时提示open fail! path:./libcrypto.so(错误码:0)
【问题原因】缺少libcrypto.so文件。
【解决方案】将达梦安装目录下的libcrypto.so文件复制到HBRBackupClient/HBRClientService/AggregateApp目录下。
恢复
Q1:发起表空间恢复时,出现报错:“err_msg = 备份集DB_MAGIC与当前库不匹配。”
【问题原因】实例恢复后会刷新dmmgic表,再发起表空间恢复,表空间的dmmagic与实例恢复后的dmmgic不一致,导致表空间恢复失败。
【解决方案】发起完全备份后,使用新生成的时间点再次执行表空间恢复。
Q2:向同一目标机进行多实例同时恢复,会出现异常情况:
【问题原因】同一目标机虽然有多个实例,但是DMAP工具只有一个,所以无法同时恢复多个实例。
【解决方案】依次恢复多个实例。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。