手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 环境
  • 一、DMHS的安装 (命令行)
    • 1、安装文件准备
    • 2、修改可执行文件后执行安装程序
  • 二、DM8数据库准备工作
    • 1、开启归档日志
    • 2、开启逻辑日志
    • 3、配置 DDL辅助表和触发器
    • 4、创建供DMHS软件连接数据库的用户
    • 5、准备测试模式、对象
  • 三、DMHS双向同步配置
    • 节点1 DMHS服务配置
    • 节点2 DMHS服务配置
  • 四、启动DMHS服务
    • 1、启动两端节点的DMHS管理服务
    • 2、在节点2的数据库上装载节点1数据库需要进行同步的对象数据
    • 3、启动两端节点的CPT采集模块,实现双向同步、单向同步
      • 1)节点1服务器执行,初始化远端exec和本地cpt字典
      • 2)节点2服务器执行,初始化远端exec和本地cpt字典
      • 3)节点1执行,启动本地cpt模块
      • 4)节点2执行,启动本地cpt模块
  • 五、检查同步效果
    • 1、数据简单对比
    • 2、在节点1数据库对模式OA11的对象进行DML操作
    • 3、在节点2数据库对模式OA12的对象进行DML操作
    • 4、DDL同步验证
    • 5、单向同步验证
      • 正向验证
      • 反向验证
  • 总结

前言

??某项目需要DM8数据库实现灾备,那么先在本地测试实现吧。本次模拟实验主要在本地两台虚拟机上,安装dm8数据库,并通过DMHS软件实现双向同步、单向同步,从而达到双活、灾备效果。(以下主要展开DMHS的安装和配置,dm8数据库的安装略过,可参考另一篇linux环境安装DM8的博文)

??达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。(来自达梦云适配中心-DMHS产品介绍)

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

2、修改可执行文件后执行安装程序

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
此处为web管理平台的相关安装项,本次模拟暂不用到,默认配置和服务手动启动即可,预留下次使用
手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

二、DM8数据库准备工作

接下来要对DM8单机数据库进行一些参数配置,以便DMHS软件分析逻辑日志进行数据同步(两个节点都需要执行以下步骤)。

1、开启归档日志

使用SYSDBA连接登录数据库执行以下语句开启归档日志。其中DEST为归档日志存放目录,需要提前创建好,FILE_SIZE为单个归档文件大小,SPACE_LIMIT为归档目录日志目录大小限制(达到限制大小后自动删除历史归档日志文件):

检查参数值,以及到归档配置目录下查看,归档日志已经配置成功。

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
执行后检查参数值为1,确认逻辑日志已开启。

3、配置 DDL辅助表和触发器

使用SYSDBA连接登录数据库执行DMHS安装目录下script子目录的“ddl_sql_dm8.sql”脚本。(可以使用disql连接,使用”start /xx/xx.sql”直接执行该脚本,如果是使用DM管理工具连接的数据库,可以直接复制SQL脚本内容到查询框执行)

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

4、创建供DMHS软件连接数据库的用户

使用SYSDBA连接数据库,执行以下语句创建用户(其中HSEXEC为用户名,双引号内为密码,这没有特别要求,只需要后面和配置文件对应上即可,需要注意授权该用户查询、写入其他用户的权限,这里为了方便直接给了DBA权限):

5、准备测试模式、对象

(这里补充一下测试数据的来源,因为看到讨论里有人问到,当然如果自己准备有测试数据,那么这里是可以跳过的,在后面配置项根据自己的模式对象修改dmhs.hs里面的白名单和映射就可以了,测试用的模式、模式对象和数据其实在这次实验里是无关紧要的,你也可以用别的测试数据,只要我们最终验证同步成功就可以)
1、在达梦数据库软件安装目录dmdbms/tool目录下,有dbca(DM数据库配置助手),初始化实例的过程勾选示例库就会得到一份模拟测试数据(7个表对象和数据),后面第三大点结构图其实还用到一个T2022表,那其实是随手建的,随便写两个数据就可以了。

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

选择DMHR模式,右键导出成dmp文件,备用。

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

节点1的DM8数据库存在模式OA11

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
在DMHS安装目录下的bin子目录,新建dmhs.hs配置文件

dmhs.hs配置文件部分内容解读:
其中base模块是本地DMHS管理服务相关配置,需要注意的是siteid必须为唯一,需要和节点2的配置区分开来;

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
2)其中ddl_mask配置项是DDL 操作功能掩码,理论上我们双向需要同步所有的DDL操作,所以这里掩码我们配置了所有对象
手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
exec模块则是本地数据接收和执行服务相关配置,相对于节点2来说,本地是节点2的目的端,需要对节点2的DMHS服务cpt模块收集并发送来的数据,执行同步到本地节点1的DM8数据库,因此主要为连接本地节点1的数据库信息,以及执行工作进程的相关配置。其中exec_policy=2表示执行事务出错时,忽略出错的操作后继续执行;ddl_continue=1表示DDL操作同步出错时,继续往下操作。
手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

节点2 DMHS服务配置

其中DMHS服务启动脚本DmhsService的配置和节点1配置过程相似,这里不再演示。
需要关注的是节点2的dmhs.hs配置文件配置内容:
可以看到节点2的配置内容和节点1是类似的,只不过因为cpt模块的采集数据库连接信息和exec的数据库执行信息有差异,其中因为节点2只需要同步数据库中模式OA12的所有表到节点1数据库中的模式OA11,所以在map映射规则中直接使用了模糊匹配


手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)

来源:一笑嘴就歪

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月13日
下一篇 2022年8月13日

相关推荐