达梦数据库实时同步工具DMHS是什么?

2025-09-11 05:56:49

1、DMHS工具介绍

达梦自主可控柔性替代方案关键在于达梦实时同步工具(DMHS)。DMHS是一个支持异构环境的高性能、高可靠和高可扩展的数据库实时同步系统。可以在不同的关系数据库之间,完成近乎实时的数据同步功能,保证目的端数据库与源端数据库的数据一致。

2、DMHS能干什么

DMHS主要有两种功能: 数据装载(copy) 和数据实时同步。 copy功能可以做类似DTS工具的事情,可以迁移表结构、外键约束、check约束、索引。在部署DMHS时,如果源端数据库一直运行,则需要用DMHS进行初始数据迁移。至于表结构迁移可以使用 DMHS、DTS或者直接使用脚本在目的库创建。

3、DMHS配置文件

DM7有配置文件dm.ini, DMHS有配置文件dmhs.hs,在哪里?  就在xxx/dmhs/bin下面。

4、DMHS部署在此不详述,总体分为安装程序,设置环境变量,编辑配置文件即可。部署完成以后,怎么启动?

在bin目录下有个dmhs_server的程序,执行这个程序就可以启动DMHS管理进程。还有一个dmhs_serverd,注意看多了一个d,是一个shell脚本,用来进行后台启动dmhs_server程序。

5、执行dmhs_server后,相当于你启动了main主程序,系统做了一些初始化的工作,比如加载配置文件参数到内存中,系统初始化工作,开启监听线程准备接受新连接等等工作。这个时候源端并没有去分析日志,目的端启动的也没有去执行同步。那怎么同步呢? 需要等待你发送同步命令! 什么命令? start exec 和start cpt。

6、从命令名字理解,startexec就是启动执行,start cpt就是启动捕获capture。所以你在第一次执行dmhs_server后,需要去连接这个管理进程,然后给他发同步命令。怎么连接?  看见bin目录下还有一个dmhs_console了吧,控制台!

利用这个控制台来输入命令。 控制台怎么用?

7、启动dmhs_console之后,就要进行连接管理进程,输入connect命令。好了,你连接成功了,然后就可以给管理进程发送同步命令了。一般先在执行端发送start exec命令,然后再在源端发送start cpt命令。

8、管理进程再收到这个命令后,当然不是由它去做工作了,它会创建工作线程去做工作的,对的,你应该知道有这么一个函数的 pthread_create ,就是让它去干这事的。也就是startcpt会创建一个分析线程去分析日志,start exec会创建执行线程,去做执行了。至此,才真正算是启动同步的。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢