达梦数据库-学习-52-DmDrs参数介绍(Manager模块)

目录

一、环境信息

二、介绍

三、DRS相关文章

四、参数介绍

1、mgr_dir

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

2、mgr_port

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

3、name

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

4、siteid

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

5、core_dump_flag

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

6、enable_arbiter

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

7、enable_pwd_encipher

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

8、enable_tls

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

9、lang

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

10、net_type

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

11、log_limit

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例

12、mem_size

(1)参数含义

(2)参数说明

(3)参数值

(4)参数语法

(5)参数示例


一、环境信息

|-----------|------------------------------------------------------------------------------------------------------------------------------|
| 名称 | 值 |
| CPU | 12th Gen Intel(R) Core(TM) i7-12700H |
| 操作系统 | CentOS Linux release 7.9.2009 (Core) |
| 内存 | 4G |
| 逻辑核数 | 4 |
| Oracle端IP | 192.168.139.10 |
| Dm端IP | 192.168.139.11 |
| Oracle版本 | Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production |
| DM版本 | 1 DM Database Server 64 V8 2 DB Version: 0x7000d 3 03134284336-20250218-260144-20132 4 Msg Version: 32 5 Gsu level(5) cnt: 0 |
| Drs版本 | V5.2.4.3-Build(2025.09.02-198770_trunc_sp1)_64 |

二、介绍

异构增量同步工具在国产化替代项目中,经常会用到,其参数也复杂多样,我们来对于一些实用性的参数进行介绍,方便大家更好的使用此工具。

此文参考并引用了官方文档。

三、DRS相关文章

|----|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 编号 | 链接 |
| 1 | 达梦数据库-学习-32-异构数据库同步工具DmDrs(Oracle同步至达梦) |
| | |

四、参数介绍

Manager模块是DMDRS服务(包括源DMDRS服务、目标DMDRS服务和DMDSS服务)的管理模块。在各DMDRS服务的XML配置文件中,Manager模块参数对应<base></base>元素,包括Manager模块的端口号和站点号等参数。

1、mgr_dir

(1)参数含义

DMDRS所有日志文件和数据文件(除临时生成的文件)的存储目录。

(2)参数说明

当该参数与模块的module_dir参数同时配置,且路径不同时,优先按照module_dir参数指定的路径保存模块的数据文件,其它模块的数据文件仍按照该参数指定的位置存储。

(3)参数值

默认值为程序的当前工作目录。

(4)参数语法

复制代码
<mgr_dir></mgr_dir>

(5)参数示例

复制代码
<mgr_dir>/home/dmdrs/dmdrs5/bin</mgr_dir>

2、mgr_port

(1)参数含义

Manager模块的端口号。

(2)参数说明

DMDRS服务的Manager模块的端口号,根据DMDRS服务的配置,加载服务中的CPT模块、DSS模块、EXEC模块或SCHED模块。服务启动后,会监听该端口上的连接,用于执行客户端发送的命令和接收统计信息。

注意

不同的服务如果部署在同一台服务器上,必须确保不同服务的Manager模块的端口号的唯一性,否则将无法对Manager模块唯一标识,导致服务无法正常启动。建议不使用默认值。

(3)参数值

取值范围:1000~65534,默认值为5345。

(4)参数语法

复制代码
<mgr_port></mgr_port>

(5)参数示例

复制代码
[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>qwer1234S</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

3、name

(1)参数含义

DMDRS服务的名称。

(2)参数说明

用于标识DMDRS服务在数据传输链路中的名称。

(3)参数值

默认值为本地主机的主机名前48个字符。

(4)参数语法

复制代码
<name></name>

(5)参数示例

复制代码
[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>qwer1234S</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

4、siteid

(1)参数含义

站点号。

(2)参数说明

DMDRS服务在数据传输链路中的唯一标识,配置时请确保唯一性,如果重复,会造成链路中数据复制的混乱。

配置DMDRS主备服务时,需要保证主节点和备节点的站点号一致,如果不一致,会造成主备链路中数据复制的混乱。

配置DMDSS集群服务时,需要保证集群内各节点的站点号一致,如果不一致,会造成集群失效。

(3)参数值

取值范围:1~65535。

(4)参数语法

复制代码
<siteid></siteid>

(5)参数示例

复制代码
[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>qwer1234S</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

5、core_dump_flag

(1)参数含义

DMDRS在异常情况下生成核心转储文件的方式。

(2)参数说明

仅支持Linux平台。

(3)参数值

  • 0:不生成核心转储文件。

  • 1:生成精简版核心转储文件。默认值为1。

  • 2:生成完整核心转储文件。

  • 3:生成包含共享内存的核心转储文件。

(4)参数语法

复制代码
<core_dump_flag></core_dump_flag>

(5)参数示例

复制代码
[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
                <core_dump_flag>2</core_dump_flag>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>qwer1234S</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

6、enable_arbiter

(1)参数含义

是否启用主备决策DMDRS服务。

(2)参数说明

该参数的原名为is_arbiter。

当目标数据库为Kafka,使用目标DMDRS主备服务时需要配置该参数。主备决策DMDRS服务可以持久化目标DMDRS主备节点信息,处理目标DMDRS主备存取主备节点信息的请求

(3)参数值

  • 0:禁用。默认值为0。

  • 1:启用。

(4)参数语法

复制代码
<enable_arbiter></enable_arbiter>

(5)参数示例

复制代码
<enable_arbiter>1</enable_arbiter>

7、enable_pwd_encipher

(1)参数含义

是否启用数据库登录密码的加密功能。

(2)参数说明

该参数的原名为pwd_encipher。

  • 禁用数据库登录密码的加密功能后,数据库的登录密码需配置为明文密码。

  • 启用数据库登录密码的加密功能后,需通过drcsl -encrypt ""命令获取密文密码,将数据库的登录密码配置为该密文密码。

(3)参数值

  • 0:禁用。默认值为0。

  • 1:启用。

(4)参数语法

复制代码
<enable_pwd_encipher></enable_pwd_encipher>

(5)参数示例

复制代码
<enable_pwd_encipher>1</enable_pwd_encipher>

[oracle@lzl bin]$ ./drcsl -encrypt 'qwer1234S'
Password encrypted successfully: B6E9B91940BFBA7379A069605FA4EF76

[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
                <core_dump_flag>2</core_dump_flag>
                <enable_pwd_encipher>1</enable_pwd_encipher>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>B6E9B91940BFBA7379A069605FA4EF76</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

8、enable_tls

(1)参数含义

是否支持TLS1.2协议。

(2)参数说明

在DMDRS同步链路中,所有的DMDRS服务(包括源DMDRS、目标DMDRS和DMDSS)都需要配置该参数。配置该参数后,DMDRS服务之间将会启用基于TLS1.2协议的证书认证及通信功能。

DMDRS使用该功能需要具备如下运行条件:

  • 需要加载OpenSSL的认证证书:作为客户端,需要证书drs_ca.crt;作为服务端,需要证书drs_server.crt和秘钥drs_server.key。可以使用的证书和秘钥包括自签名认证证书和正式证书两种。

    • 使用OpenSSL生成的自签名认证证书,证书生成时,需要填写名称及接收端服务器IP。生成指令如下:

    openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout drs_ca.key -out drs_ca.crt -days 3650

    openssl req -newkey rsa:2048 -nodes -keyout drs_server.key -out drs_server.csr

    openssl x509 -req -in drs_server.csr -CA drs_ca.crt -CAkey drs_ca.key -CAcreateserial -out drs_server.crt -days 365

    • 使用正式的证书,需要修改对应的名称为drs_ca.crt、drs_server.crt和drs_server.key。
  • 需要加载OpenSSL的动态依赖库:Windows下为ssleay32.dll和libeay32.dll;Linux下为libssl.so

  • 证书及动态依赖库需位于DMDRS程序的运行目录。

  • 要求OpenSSL动态依赖库版本为1.0.2k及以上版本时,才能支持TLS1.2协议。

(3)参数值

  • 0:禁用。默认值为0。

  • 1:启用。

(4)参数语法

复制代码
<enable_tls></enable_tls>

(5)参数示例

复制代码
<enable_tls>1</enable_tls>

9、lang

(1)参数含义

日志语言。

(2)参数说明

服务器、控制台及日志文件的输出语言和字符集,该参数配置需与窗口字符集配置保持一致。

(3)参数值

  • ch:GB18030编码简体中文。默认值为ch。

  • ch-utf8:UTF-8编码简体中文。

  • en:英文。

(4)参数语法

复制代码
<lang></lang>

(5)参数示例

复制代码
<lang>ch</lang>

[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
                <core_dump_flag>2</core_dump_flag>
                <enable_pwd_encipher>1</enable_pwd_encipher>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>B6E9B91940BFBA7379A069605FA4EF76</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

10、net_type

(1)参数含义

服务程序运行环境的网络协议版本。

(2)参数说明

(3)参数值

参数值不区分大小写。

  • ipv4:当前环境网络协议版本为IPv4。默认值为ipv4。

  • ipv6:当前环境网络协议版本为IPv6。

(4)参数语法

复制代码
<net_type></net_type>

(5)参数示例

复制代码
<net_type>ipv6</net_type>

11、log_limit

(1)参数含义

服务程序运行时LOG目录下全部日志文件的上限。

(2)参数说明

该参数的原名为log_limit_size。

当LOG目录下以drs_开头的日志文件总大小超过该参数值时,程序会自动删除时间最早的日志,将总大小控制在该参数值以内。

(3)参数值

单位:GB,默认值为0。

  • 当参数值为0时,表示对服务程序运行的日志文件大小无限制。

  • 当参数值大于0时,如果运行日志文件总大小超过该参数值,自动删除历史运行日志文件;如果单个日志文件已超过该参数值,则删除该日志文件,将日志文件中最新的128MB日志内容写入到新建的日志文件中。

(4)参数语法

复制代码
<log_limit></log_limit>

(5)参数示例

复制代码
<log_limit>5</log_limit>

[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
                <core_dump_flag>2</core_dump_flag>
                <enable_pwd_encipher>1</enable_pwd_encipher>
                <log_limit>10</log_limit>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>B6E9B91940BFBA7379A069605FA4EF76</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>

12、mem_size

(1)参数含义

服务程序运行时可以申请的最大内存。

(2)参数说明

当服务程序运行时申请的内存超过该参数值时,服务程序会报错。

(3)参数值

取值范围:0~255,单位:GB,默认值为16。

当参数值为0时,表示对服务程序运行时申请的内存无限制,在服务器内存范围内,服务程序可以根据需要申请超过255GB的内存。

(4)参数语法

复制代码
<mem_size></mem_size>

(5)参数示例

复制代码
<mem_size>24</mem_size>

[oracle@lzl bin]$ cat Src.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
        <base>
                <mgr_port>5345</mgr_port>
                <siteid>1</siteid>
                <lang>ch-utf8</lang>
                <name>DrsSrc</name>
                <core_dump_flag>2</core_dump_flag>
                <enable_pwd_encipher>1</enable_pwd_encipher>
                <log_limit>10</log_limit>
                <mem_size>2</mem_size>
        </base>
        <cpt>
                <name>cpt_oracle</name>
                <login>
                        <dbtype>Oracle</dbtype>
                        <server>orcl</server>
                        <user>DMDRS</user>
                        <pwd>B6E9B91940BFBA7379A069605FA4EF76</pwd>
                </login>
                <send>
                        <ip>192.168.139.11</ip>
                        <port>5345</port>
                        <target_name>exec_dm8</target_name>
                        <map>
                                <item>SUN.*==SUN.*</item>
                                <item>CZG.*==CZG.*</item>
                                <item>MOON.*==MOON.*</item>
                        </map>
                </send>
        </cpt>
</drs>
相关推荐
IT策士7 小时前
Django 从 0 到 1 打造完整电商平台:电商项目需求分析与数据库设计
数据库·django·需求分析
corpse20107 小时前
CentOS Linux release 8.5.2111下的CVE-2026-31431 Linux内核提权漏洞处置 过程问题记录
linux·运维·centos
吃好睡好便好7 小时前
在Matlab中绘制峰值图
开发语言·学习·算法·matlab·信息可视化
珞瑜·7 小时前
基于Matlab生成黑色火柴人运球 + 起跳 + 投篮动作
学习·matlab
AI原来如此7 小时前
[特殊字符]2026AI Agent入门学习路径
学习·ai·大模型·ai编程
ji_shuke7 小时前
前端请求/authapi/auth/permissions 实际发给后端 /api/auth/permissions 本地和线上配置
运维·前端·nginx
南汁bbj7 小时前
人工智能发展演进与2026年后学习重点:从“调API“到“造Agent“
人工智能·学习
70asunflower7 小时前
计算机中的绝对路径和相对路径
python·学习
huipeng9268 小时前
基于SpringCloud的博客系统
java·运维·后端·spring·spring cloud·微服务