DMHS 配置文件使用 XML 格式,存放于 DMHS 程序安装目录的 bin 文件夹下,可以用 dmhs.hs 命名,也可以使用 dmhs.xml 命名。但是,使用 dmhs.xml 命名时会导致客户端无法 正确修改配置文件,不推荐使用。配置文件 dmhs.hs 作为 xml 文件,有如下约定。
(1)文件头:<?xml version="1.0" encoding-"GB2312"?>。
(2)文件体根元素:dmhs,根元素开始标签,结束标签。
(3)元素名区分大小写。
(4)以下章节的标题级别代表 dmhs.hs 配置文件的 XML 级别,比如 dmhs 为根元素, 1.1base 为 dmhs 的子元素 base。以标签为例,“1DMHS 配置参数”根元素为 dmhs,以 标签开始;“1.1base”对应元素 base,以标签开始;“1.1.1siteid”对应元素 siteid, 以标签开始;那么,是的父标签,是的父标签,XML 文件结构如下所示:
<?xml version="1.0" encoding "GB2312"?>
<dmhs>
<base>
<siteid>元素值</siteid>
</base>
</dmhs>
1.MGR(管理模块)
1.1配置
MGR 配置在 dmhs.hs 配置文件中对应 base 元素,配置同步服务的 DMHS 服务器管理模块,如同客户端通讯的监听端口、语言项、站点号等。配置文件 dmhs.hs 中的 base 元素以标签开始,以标签结束。
下面为MGR部分常用的配置元素及其含义
siteid 站点号,取值范围在 1~ 30000
lang 语言选项,ch 代表简体中文;en 代表英文,默认值 ch
mgr_port 管理端口,取值范围在 1000~ 65535
ckpt_interval 检查点间隔,取值范围在 10~ 65535, 默认值 60
status_interval 统计信息更新间隔,取值范围在 3~ 60,默认值 10
version 配置文件的版本号,可选 1.0 或 2.0,默认值 1.0,兼容旧版本配置格式。
注意:旧版本配置格式仅支持直连模式下源端到目标端的同步配置,如果要使用高级功能,如一对多,转发和路由等,则必须使用 2.0 的版本格式。所以, 在进行配置时,version 参数的错误配置会造成数据同步的失败。
1.2MGR使用
(1)启动与停止
##控制台方式启动
./dmhs_server ./dmhs.hs ##linux
dmhs_server.exe ##window
##控制台方式停止
exit
2.CPT(捕获模块)
2.1配置
CPT 模块是日志分析模块,由于日志分析需要用到数据库中的表信息,所以 CPT 在首 次启动时,要进行初始化加载需要同步的表的字典信息,把这些信息存放到本地。
配置文件 dmhs.hs 中的 CPT 配置以标签开始,以标签结束,和 base 标签同级。可以配置一个或多个 CPT 配置。
下面为CPT部分常用的配置元素及其含义
db_type 捕获源端的数据库类型,限定值请参考数据库类型定义
db_server 源端数据库的服务名,如果数据库不支持服务名,也可以填写 IP
db_user 连接源端数据库的登录名或用户
db_pwd 源端数据库登录口令
db_port 源端数据库的监听端口号,取值范围在 0-65535
db_name 源端数据库需要解析的库名
arch 归档信息配置,该标签是一个功能标签,需要配置它的子项
clear_flag 归档日志清理选项,选配 0(不操作)、1(删除)、2(移走)、3(延迟删除),默认 0。
clear_interval 归档日志清理间隔,取值范围在 60-65535,单位秒
send CPT 投递信息配置,该标签是一个功能标签,需要配置它的子项。该功能的实现依赖于 NET 模块,参考 NET 模块配置 SEND 。
2.2使用
捕获器在本地读取、解析源端数据库管理系统的归档日志后,会将数据打包并发送到执行器,也可以经过中转再发送到执行器
首次启动该捕获器,请先确保以下准备工作是否完成:
(1)MGR 启动框架已处于正常运行状态。
(2)下一级 DMHS 服务(包括与当前捕获器关联的执行器、路由器或转发器)已开启, 且处于正常运行状态。
(3)如果需要同步 DDL,必须在源库建立一个全库级的事件触发器。
(4)源端日志开始分析的日志起始位置已完成初始化
CLEAR|SET EXEC LSN [<VID>] ##在控制台中输入
(5)初始数据已从源端数据库管理系统装载到目标端数据库管理系统。
LOAD|COPY <VID> "<过滤条件>" <装载选项> ##在控制台中输入
##<VID>:指 CPT 模块的虚拟编号,虚拟编号是指配置文件中 CPT 配置从上到下的顺序编号,从 0 开始编号,可以用 STATE 命令来查看每个 CPT 模块的虚拟编号。
##"<过滤条件>":指的是装载表的过滤条件,这里面有两个重要的对像前缀,分别是 SCH和 TAB,分别代表系统表中的模式系统表和对像系统表。
##<装载选项>:它是装载命令中最复杂的参数,由一组掩码组成,并且可以按照约定组合使用。
例子:COPY 0 "SCH.NAME=’TEST’" CREATE|INSERT
启动与停止
start cpt
stop cpt
3.EXEC(执行模块)
3.1配置
EXEC 模块用来进行数据入库,为了兼容大多数的数据库,它采用了标准的 ODBC 驱 动接口和符合 SQL92 标准的 SQL 语句来访问数据库。
配置文件 dmhs.hs 中的 EXEC 配置以标签开始,以标签结束,和 base 标 签同级。只能配置一个 EXEC 标签。
下面为EXEC部分常用的配置元素及其含义
db_type 数据入库的数据库类型,选项参考数据库类型定义。
db_server 数据库的服务名。
db_user 登录数据库的用户名
db_pwd 登录数据库的用户口令。
db_name 登录数据库的库名。
db_port 登录数据库的端口号。
exec_thr EXEC 模块用来数据入库的工作线程数,取值范围在 1-1024,默认值 1
exec_sql EXEC 模块缓存事务 SQL 语句的内存大小,取值范围在 32-40960,单位 M,默 认值 512。
exec_trx 允许缓存事务的个数,取值范围在 1000-10000,默认值 5000
exec_row 数据入库时允许的最大批量行数,取值范围在 1-2000,默认值 1
recv 数据来源配置,该参数是一个功能标签,需要配置它的子项。具体配置请参考 NET 模块中 RECV 相关的配置说明
Driver 数据库的 ODBC 驱动名
3.2使用
启动该执行器前,请先确保MGR 启动框架已处于正常运行状态。
start exec ##启动
stop exec ##停止
4.NET(传输模块)
4.1配置
NET 模块在同步中承担节点之间数据的收发任务,CPT 模块需要通过它来发送数据, EXEC 模块则需要通过它来接收数据。除了常规的发送和接收功能以外,NET 模块还具有消息转发和消息路由的功能,消息转发时,可以选择通过文件中转的方式,也可以选择网络直连的方式。
下面为NET部分常用的配置元素及其含义:
send 数据发送配置 ip 需在投递到下一级的 IP 地址。
mgr_port 需在投递到下一级的备用 DMHS 管理模块监听端口。
data_port 需在投递到下一级的备用 DMHS NET 模块监听端口。
filter NET 模块对投递消息的过滤配置
disable NET 模块过滤规则黑名单设置
disable NET 模块过滤规则黑名单设置
map NET 模块对投递对像名进行映射
recv 数据来源配置 data_port 数据来自本地监听的数据端口号,取值范围在 1000-65535。
mgr_port 管理命令本地监听的数据端口号,取值范围在 1000-65535。
data_file 数据来源自缓存文件
4.2子模块
4.2.1 NET 消息发送子模块
经过 CPT 捕获到的日志操作,在这里进行分发,分发前可以对操作进行过滤,或者对表进行过滤和映射,还可以对消息中的列进行映射(改名、剔除和函数计算)。经过处理的消息通过网络(TCP/IP)发送给下一级,或者保存到本地文件。
4.2.2 NET 消息接收子模块
经上一级 NET 消息发送子模块通过网络传输的消息,在这里由 NET 消息接收子模块通过网络(TCP/IP)接收并发送给 EXEC 模块。
社区地址:https://eco.dameng.com