注册
达梦数据复制软件DMDRS配置参数-CPT模块基本参数
专栏/数+融合专栏/ 文章详情 /

达梦数据复制软件DMDRS配置参数-CPT模块基本参数

达梦数+数据融合软件(DMDF)产品团队 2026/08/04 79 0 0
摘要 介绍DMDRS CPT模块的基本信息配置参数。

3 CPT模块参数

CPT模块是源DMDRS服务的核心模块,主要实现源数据库的全量数据装载以及增量数据实时捕获、解析和投递。在源DMDRS服务的XML配置文件中,CPT模块参数对应<cpt></cpt>元素,包括CPT模块的名称、源数据库登录信息、源DMDRS服务发送信息和源DMDRS服务主备信息等参数。

<cpt> <name>cpt_dm8</name> <login> <dbtype>dm8</dbtype> <server>192.168.60.2</server> <user>DMDRS</user> <pwd>DMDRS</pwd> <port>5236</port> </login> <send> <ip>192.168.60.1</ip> <port>17345</port> <target_name>dss_active</target_name> <map> <item>RESOURCES.*==PERSON.*</item> </map> </send> </cpt>

3.1 基本参数

介绍CPT模块的基本信息配置参数。

3.1.1 auto_run

参数含义

手动或自动启动CPT模块。

参数说明

  • 手动启动CPT模块

    源DMDRS服务启动后,CPT模块需手动启动。

  • 自动启动CPT模块

    • 源DMDRS服务初次启动后,CPT模块需手动启动。

    • 源DMDRS服务重新启动后,CPT模块状态为服务重启前的状态。如果重启前模块为启动状态,重启后模块仍为启动状态;如果重启前模块为关闭状态,重启后模块仍为关闭状态。

参数值

  • 0:手动启动CPT模块。

  • 1:自动启动CPT模块。默认值为1。

参数语法

<auto_run></auto_run>

参数示例

<auto_run>0</auto_run>

3.1.2 ckpt_interval

参数含义

源DMDRS检查点的执行间隔时间。

参数说明

当源DMDRS重启时,会从上一次运行的最后一个检查点开始读取日志文件。可适当减小此参数值以减少源DMDRS重启后重新读取归档所消耗的时间。

参数值

取值范围:1~65535,单位:秒,默认值为30。

参数语法

<ckpt_interval></ckpt_interval>

参数示例

<ckpt_interval>30</ckpt_interval>

3.1.3 dict_dir

参数含义

离线字典的目录。

参数说明

此路径指保存在本地的字典、约束、DDL和事务的总路径。

当源DMDRS配置为离线日志解析时,该参数配置为离线日志解析中字典文件的存储路径。

参数值

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

参数语法

<dict_dir></dict_dir>

参数示例

<dict_dir>/home/dmdrs/dmdrs5/bin</dict_dir>

3.1.4 idle_time

参数含义

日志读取的空闲时间。

参数说明

当CPT分析在线日志时,如果在线日志刷新较慢,则会出现赶超在线的情况,此时CPT需要睡眠一段时间。该参数就是用来指定CPT的睡眠时间,单位为ms。该参数如果配置太小,会造成IO负担;如果配置得太大,则会造成同步延迟大,需要根据实际的需求配置一个合理的值。

参数值

取值范围:0~65534,单位:ms,默认值为300。

参数语法

<idle_time></idle_time>

参数示例

<idle_time>100</idle_time>

3.1.5 login*

参数含义

源数据库的登录信息。

参数说明

该参数是一个功能标签,需要配置它的子项。

参数值

参数语法

<login></login>

参数示例

<login> <dbtype>dm8</dbtype> <server>192.168.60.2</server> <user>DMDRS</user> <pwd>DMDRS</pwd> <port>5236</port> </login>
3.1.5.1 dbname

参数含义

源数据库的库名。

参数说明

  • DM7、DM8(单机、DMDSC、DMDPC、MPP)、DM8主备、DMDSC主备和Oracle数据库:不需要配置该参数。

  • DM6单机、DB2、MySQL/MariaDB、SQL Server、PostgreSQL和Kingbase数据库:必须配置该参数,指定数据库名称。

参数值

源数据库的库名。

参数语法

<dbname></dbname>

参数示例

源数据库MySQL的库名为RESOURCES。

<dbname>RESOURCES</dbname>
3.1.5.2 dbtype*

参数含义

源数据库的类型。

参数说明

源DMDRS服务支持的数据库包括DM6单机、DM7、DM8(单机、DMDSC、DMDPC、MPP)、DM8主备、DMDSC主备、Oracle 10g及以上版本(单机、RAC)、SQL Server 2008 R2/2016/2019版本、DB2 9.7/10.5/11.5、MySQL/MariaDB 5.6/5.7/8、PostgreSQL 9.6/10/11/12/13版本和Kingbase V6/V8(Oracle模式)/V9(Oracle模式)版本。

参数值

参数值不区分大小写。

  • DM6单机数据库:dm6。

  • DM7数据库:dm7。

  • DM8单机数据库:dm8。

  • DM8主备数据库:dm8。

  • DMDSC数据库:dm8或dsc。

  • DMDSC主备数据库:dm8或dsc。

  • DMDPC数据库:dm8或dpc。

  • MPP数据库:dm8_mpp_local。

  • Oracle(单机、RAC)数据库:Oracle。

  • SQL Server数据库:SQL Server。

  • DB2数据库:DB2。

  • MySQL/MariaDB数据库:MYSQL。

  • PostgreSQL数据库:postgres。

  • Kingbase V6数据库:KDBV6。

  • Kingbase V8(Oracle模式)数据库:kdb。

  • Kingbase V9(Oracle模式)数据库:kdb或者kdbv9。

参数语法

<dbtype></dbtype>

参数示例

<dbtype>dm8</dbtype>
3.1.5.3 driver

参数含义

源数据库的ODBC驱动名。

参数说明

该参数仅适用于DM6、SQL Server、PostgreSQL和Kingbase数据库。当源数据库为DM6、SQL Server、PostgreSQL和Kingbase数据库时,需使用ODBC驱动和源数据库进行连接。如果不使用默认驱动,需要使用其他版本的ODBC驱动,请使用该参数配置。

注意

请确保源DMDRS服务器上已安装数据库的驱动,且驱动版本与数据库版本相匹配。

参数值

  • DM6数据库:默认值为DM ODBC DRIVER。

  • SQL Server数据库:默认值为{SQL Server Native Client 10.0}。

  • PostgreSQL数据库:默认值为PostgreSQL ANSI(x64)。

  • Kingbase V6数据库:默认值为KingbaseES 6 ODBC Driver。

  • Kingbase V8(Oracle模式)数据库:默认值为KingbaseES 8 ODBC Driver。

  • Kingbase V9(Oracle模式)数据库:默认值为KingbaseES 8 ODBC Driver。

参数语法

<driver></driver>

参数示例

<driver>{SQL Server Native Client 11.0}</driver>
3.1.5.4 local

参数含义

本地数据库实例的IP地址或服务名。

参数说明

该参数仅适用于DM7、DM8(单机、DMDSC)、DM8主备和DMDSC主备数据库。

  • 当源数据库为DM7、DM8(单机、DMDSC),该参数为选配参数,仅当源DMDRS的运行环境为容器或者源DMDRS为主备模式,且远程解析源数据库的归档日志等特殊环境,源DMDRS无法使用127.0.0.1的IP地址连接本地数据库实例时需配置该参数。

  • 当源数据库为DM8/DMDSC主备时,该参数为必配参数。

参数值

参数值格式同3.1.5.9 server*。当server参数值的格式为IP地址,源库类型不为Oracle(RAC)或DM8(DMDSC)且未配置NET_READ掩码时,该参数默认值同server参数的值。否则默认值为空,此时将使用127.0.0.1的IP地址访问本地数据库实例。

当源数据库为DM8/DMDSC主备时,该参数配置为DMDRS所在本地机器的DM8/DMDSC服务名(DMDSC服务名包含本地DMDSC实例的所有节点)。

参数语法

<local></local>

参数示例

  • 源数据库为DM8单机,且满足参数说明中配置该参数条件。

    <local>192.168.60.2</local>
  • 源数据库为DM8主备。

    <local>DM8ZB_LOCAL</local>
  • 源数据库为DMDSC主备。

    <local>DSCZB_LOCAL</local>
3.1.5.5 outbound_name

参数含义

Oracle XStream同步时连接Oracle源数据库出站服务器的名称。

参数说明

该参数仅适用源端Oracle XStream同步,用于通过该名称连接Oracle数据库的Xstream Out组件。启用该参数功能,同时需要在cpt_mask里面配置远程读掩码net_read。

参数值

Oracle源数据库出站服务器的名称。

参数语法

<outbound_name></outbound_name>

参数示例

<outbound_name>xout</outbound_name>
3.1.5.6 port*

参数含义

源数据库的监听端口号。

参数说明

说明

在DM8(单机、主备、DMDSC、DMDSC主备)数据库上搭建源DMDRS主备的情况下,该参数为必配参数,该参数值为本地数据库实例的端口号。

  • Oracle数据库可以在服务名中指定端口号,无需配置端口号。

  • DM8主备数据库的服务名中已包含IP地址和端口号,无需配置端口号。

  • DMDSC数据库的服务名中已包含IP地址和端口号,无需配置端口号。

  • DMDSC主备数据库的服务名中已包含IP地址和端口号,无需配置端口号。

  • DMDPC数据库SP节点的端口号。

  • MPP数据库当前EP节点的端口号。

  • SQL Server数据库需要在服务名中指定端口号,无需配置端口号。

  • 其他类型数据库为必配参数。

参数值

取值范围:1000~65535。

参数语法

<port></port>

参数示例

<port>5236</port>
3.1.5.7 privilege_type

参数含义

连接数据库时使用的系统权限。

参数说明

当源数据库为Oracle时,连接数据库时使用的系统权限。

参数值

  • 0:DEFAULT。默认值为0。

  • 1:SYSDBA。

参数语法

<privilege_type></privilege_type>

参数示例

<privilege_type>0</privilege_type>
3.1.5.8 pwd*

参数含义

源数据库的登录密码。

参数说明

源数据库的登录密码支持配置为明文和密文。

参数值

源数据库登录用户对应的登录密码。

  • 当不配置enable_pwd_encipher参数或者配置为0时,登录密码需配置为明文密码。

  • 当enable_pwd_encipher参数配置为1时,登录密码需配置为明文密码加密后的密文密码,通过drcsl -encrypt "<pwd>"命令获取密文密码。

参数语法

<pwd></pwd>

参数示例

  • 配置登录密码为明文密码。

    <pwd>DMDRS</pwd>
  • 配置登录密码为密文密码。

    <pwd>FA58373ADC96F1E5</pwd>
3.1.5.9 server*

参数含义

源数据库的服务名或IP地址。

参数说明

如果数据库不支持服务名,可以填写IP地址。DM8单机和DMDSC数据库支持IPv4和IPv6,其他数据库仅支持IPv4。

参数值

  • DM6单机、DM7、DM8(单机)、DB2、MySQL/MariaDB、PostgreSQL和Kingbase数据库:配置为实际的IP地址。

  • DM8主备数据库:服务名。服务名请参见数据库的dm_svc.conf配置文件。

    (建议配置为服务名,如有需求,也支持配置为主库或备库的IP地址。)

  • DMDSC数据库:服务名。服务名请参见数据库的dm_svc.conf配置文件。

    (建议配置为服务名,如有需求,也支持配置为DMDSC任一节点的IP地址。)

  • DMDSC主备数据库:主备集群的服务名(包含DMDSC主机和备机所有节点)。服务名请参见数据库的dm_svc.conf配置文件。

  • DMDPC数据库:SP节点的IP地址。

  • MPP数据库:当前EP节点的IP地址。

  • SQL Server数据库:

    • IP地址,端口号。

    • IP地址:端口号。

  • Oracle数据库:

    • IP地址:端口号/服务名。

    • 网络服务名。

参数语法

<server></server>

参数示例

  • 源数据库为DM8单机数据库。

    • 以IPv4为例。

      <server>192.168.60.2</server>
    • 以IPv6为例。

      <server>[fe80::1f3:99be:7b6a:890d%eno3]</server>
  • 源数据库为DMDSC数据库。

    DMDSC数据库的dm_svc.conf配置文件中,DMDSC的服务名配置为DMDSC=(192.168.16.31:8237,192.168.16.32:8237)。

    <server>DMDSC</server>
    注意

    在未采用服务名方式,且为IPv6环境的特殊DMDSC场景下,DMDSC节点的server配置示例为[fe80::1f3:99be:7b6a:890d%eno3]。

  • 源数据库为DMDSC主备数据库,DMDSC主机为2节点,IP和端口分别为192.168.20.25:5236,192.168.20.26:5236;DMDSC备机为2节点,IP和端口分别为192.168.20.27:5236,192.168.20.28:5236。

    DMDSC主备数据库的dm_svc.conf配置文件中,DMDSC主备集群的服务名配置为DMDSC=(192.168.20.25:5236,192.168.20.26:5236,192.168.20.27:5236,192.168.20.28:5236)。

    <server>DMDSC</server>
  • 源数据库为Oracle数据库。

    <server>192.168.60.2:1521/orcl</server>
  • 源数据库为SQL Server数据库,端口号为1433。

    <server>192.168.60.2,1433</server>
3.1.5.10 ssl_path

参数含义

连接源数据库时使用的SSL链路安全库或者客户端私钥文件和公钥文件路径。

参数说明

该参数仅适用于DM8和MySQL数据库。

参数值

  • DM8数据库:SSL链路安全库路径。

  • MySQL数据库:客户端私钥文件(key)路径和客户端公钥文件(cert)路径。路径中间用:::分隔。

参数语法

<ssl_path></ssl_path>

参数示例

  • DM8数据库配置SSL链路安全库路径。

    <ssl_path>/opt/ca/client_ssl/SYSDBA</ssl_path>
  • MySQL数据库配置客户端私钥文件和公钥文件路径。

    <ssl_path>/opt/sslkey/key.pem:::/opt/sslkey/cert.pem</ssl_path>
3.1.5.11 ssl_pwd

参数含义

连接源数据库时使用的SSL链路的加密口令或者证书颁发机构(CA)证书文件的路径名。

参数说明

该参数仅适用于DM8和MySQL数据库。

参数值

  • DM8数据库:SSL链路的加密口令。

  • MySQL数据库:证书颁发机构(CA)证书文件的路径名。MySQL下该配置项为选配项。

参数语法

<ssl_pwd></ssl_pwd>

参数示例

  • DM8数据库配置SSL链路的加密口令。

    <ssl_pwd>Dameng</ssl_pwd>
  • MySQL数据库配置证书颁发机构(CA)证书文件的路径名。

    <ssl_pwd>/opt/sslkey/cakey.pem</ssl_pwd>
3.1.5.12 user*

参数含义

源数据库的登录用户名。

参数说明

数据库同步用户需要一定的权限访问数据库数据,同步用户最小权限请参见各数据库的DMDRS搭建手册

参数值

源数据库的登录用户名。

参数语法

<user></user>

参数示例

<user>DMDRS</user>

3.1.6 module_dir

参数含义

CPT模块所有数据文件(除临时生成的文件)的存储目录。

参数说明

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

参数值

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

参数语法

<module_dir></module_dir>

参数示例

<module_dir>/home/dmdrs/dmdrs5/bin</module_dir>

3.1.7 name*

参数含义

CPT模块的名称。

参数说明

当一个源DMDRS服务配置多个CPT模块时,名称将作为每个CPT模块的唯一标识,配置时请确保它的唯一性。

参数值

名称仅由字母、数字或下划线组成,不能以数字开头,英文名称不区分大小写。名称长度不超过63个字符。名称不能配置为DMDRS软件的关键字(CPT除外),关键字请参见关键字章节。

当源数据库为DMDPC时,若需要配置DMDRS主备,需要保证部署在同一个RAFT组中BP节点或者MP节点的DMDRS服务的name参数值不同。

参数语法

<name></name>

参数示例

<name>cpt_dm8</name>

3.1.8 resvd_size

参数含义

CPT模块运行时预留的存储空间大小。

参数说明

该参数仅适用于DM7/DM8源数据库。仅当磁盘剩余空间小于resvd_size参数值时,不再写开启log_mask掩码后的调试日志文件。

参数值

取值范围:0~2147483647,单位:GB,默认值为10。0表示不限制。根据磁盘实际空间大小设置。

参数语法

<resvd_size></resvd_size>

参数示例

<resvd_size>10</resvd_size>

3.1.9 send*

参数含义

源DMDRS服务的发送信息。

参数说明

源DMDRS服务分析出的日志需要发送到下一级DMDRS服务,下一级DMDRS服务包括DMDSS服务或目标DMDRS服务。

该参数是一个功能标签,需要配置它的子项,包括下一级DMDRS服务的信息和对象映射关系等参数。

参数值

参数语法

<send></send>

参数示例

<send> <ip>192.168.60.1</ip> <port>17345</port> <target_name>dss_active</target_name> <map> <item>RESOURCES.*==PERSON.*</item> </map> </send>
3.1.9.1 cipher

参数含义

消息加密算法。

参数说明

CPT模块发送消息到下一级时,是否需要对发送的消息进行加密。如果启用消息加密,则需要配置消息加密算法名称。如果不配置该参数,则不启用消息加密。

注意

加密算法配置后,如需修改加密算法,需初始化环境。

参数值

消息加密算法的名称包括DES_ECB、DES_CBC、DES_CFB、DES_OFB、AES256_ECB、AES256_CBC、AES256_CFB和AES256_OFB。

参数语法

<cipher></cipher>

参数示例

<cipher>DES_ECB</cipher>
3.1.9.2 enable_compress

参数含义

是否启用消息压缩。

参数说明

该参数的原名为compress。

CPT模块发送消息到下一级时,是否需要对发送的消息进行压缩。如果启用消息压缩,会消耗额外的CPU,但是会降低网络带宽的占用,请根据实际情况配置。

参数值

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

  • 1:启用。

参数语法

<enable_compress></enable_compress>

参数示例

<enable_compress>1</enable_compress>
3.1.9.3 enable_crc_check

参数含义

是否启用数据包校验。

参数说明

该参数的原名为crc_check。

当启用数据包校验时,CPT模块会设置投递消息的CRC校验值,下一级根据该值对接收到的数据包进行正确性的校验,从而提升数据的可靠性。开启该功能会消耗额外的CPU,请根据实际情况配置。

参数值

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

  • 1:启用。

参数语法

<enable_crc_check></enable_crc_check>

参数示例

<enable_crc_check>0</enable_crc_check>
3.1.9.4 enable_net_turns

参数含义

是否启用网闸模式。

参数说明

该参数的原名为net_turns。

如果CPT模块与下一级模块间有网闸设备,为使模块间正常交互,需启用网闸模式。

参数值

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

  • 1:启用。

参数语法

<enable_net_turns></enable_net_turns>

参数示例

<enable_net_turns>0</enable_net_turns>
3.1.9.5 ip

参数含义

下一级DMDRS服务的IP地址。

参数说明

DMDSS服务、DMDSSA服务或目标DMDRS服务所在服务器的IP地址。支持IPv4和IPv6。

参数值

IP地址。

参数语法

<ip></ip>

参数示例

  • 以IPv4为例。

    <ip>192.168.60.1</ip>
  • 以IPv6为例。多网卡场景,以ping6 fe80::2cd0:c00d:ffa1:70fb实际返回的网卡号为准来设置。

    <ip>fe80::2cd0:c00d:ffa1:70fb%enp125s0f0</ip>
3.1.9.6 map_case_sensitive

参数含义

当前map标签中的映射规则名称是否大小写敏感。

参数说明

用于配置map标签中的映射规则名称大小写是否敏感,将根据大小写敏感配置进行映射规则匹配。

参数值

  • 0:大小写敏感。默认值为0。

  • 1:大小写不敏感。

参数语法

<map_case_sensitive></map_case_sensitive>

参数示例

<map_case_sensitive>1</map_case_sensitive>
3.1.9.7 map*

参数含义

配置源DMDRS装载或同步对象的黑/白名单和映射功能。

参数说明

注意
  • 同步对象的黑/白名单,先受ddl_mask配置约束,再受map参数配置约束。
  • ddl_mask参数如果配置了SQL掩码,所有同步对象只能配置黑/白名单,不支持映射。
  • 该参数配置的是源DMDRS与下一级DMDRS之间的映射关系。

按全部对象或者具体的对象类型配置对象的黑/白名单和映射功能。

  • 对象白名单。

    源DMDRS在投递消息时,只将在白名单中且不在黑名单中对象的消息投递到下一级DMDRS。

  • 对象黑名单。

    源DMDRS在投递消息时,从白名单中过滤掉黑名单中对象的消息,不对其进行投递,黑名单应是白名单的子集,仅与白名单功能同时使用。

  • 白名单中对象映射功能。

    可以在白名单中配置相应对象的映射,主要包括库名/容器名、表空间名、模式名(用户名)、表名和序列名的映射。

    如将表空间A映射为表空间B,模式A映射为模式B或者表A映射为表B等。

    • 支持库名/容器名的映射。

    • 支持表空间映射,包括名称及路径的映射。

    • 支持表、序列的映射,以及支持表、序列所属模式名或用户名的映射。

    • 不支持视图、函数、存储过程、触发器、包、类、同义词和自定义类型对象的映射,以及不支持这些对象所属模式名或用户名的映射。

    • 不支持角色的映射。

    • 不支持分区子表的映射。

    说明

    库名、表空间名、角色名、模式名(用户名)和对象名支持通配符配置,包括*、A*、*A*、A*B和*B。容器名不支持通配符配置。

    • *:表示所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
    • A*:表示前缀为A的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
    • *A*:表示含A的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
    • A*B:表示前缀为A且后缀为B的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
    • *B:表示后缀为B的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。

该参数是一个功能标签,需要配置它的子项item,如需配置多个对象黑/白名单,可配置多个<item></item>标签。

参数值

参数语法

<map> <item></item> <item></item> </map>

参数示例

<map> <item>RESOURCES.*==RESOURCES.*</item> <item>PERSON.*==PERSON.*</item> </map>
3.1.9.7.1 item*

参数含义

源DMDRS对象黑/白名单和映射配置项。

参数说明

注意
  • 在数据同步场景(源DMDRS的下一级是目标DMDRS),该参数配置为源DMDRS与目标DMDRS之间的对象映射关系。
  • 在数据分发场景(源DMDRS的下一级是DMDSS),该参数配置为源DMDRS与DMDSS之间的对象映射关系,且该参数值右侧的模式名、对象名等应与目标DMDRS的dss标签下item参数值左侧的模式名、对象名等保持一致。

支持配置参数属性disable和type,两种属性可以同时配置。

  • 通过item参数属性disable配置黑/白名单。

    • 配置disable="1":黑名单。

    • 不配置disable="1":白名单。

  • 通过item参数属性type按对象类型配置黑/白名单。

    • type="table":表、用户、模式、角色和公共同义词。

    • type="part":分区子表。

    • type="tablespace":表空间。

    • type="object":序列、视图(普通视图、物化视图)、函数、存储过程、触发器、包、类、同义词、自定义类型。

    • type="view":普通视图。

    • type="mview":物化视图。

    • type="procedure":存储过程。

    • type="function":函数。

    • type="trigger":触发器。

    • type="package":包(包含包体)。

    • type="synonym":同义词。

    • type="sequence":序列。

    • type="class":类(包含自定义类型)。

    • 不配置type属性:所有对象(除表空间)。

  • 配置白名单中对象映射。

    如果在装载或同步的过程中需要对库名/容器名、表空间名、模式名(用户名)、表名和序列名进行映射,则需要在白名单中配置映射项。

    • 支持库名/容器名的映射。

    • 支持表空间映射,包括名称及路径的映射。

    • 支持表、序列的映射,以及支持表、序列所属模式名或用户名的映射。

    • 不支持视图、函数、存储过程、触发器、包、类、同义词和自定义类型对象的映射,以及不支持这些对象所属模式名或用户名的映射。

    • 不支持角色的映射。

    • 不支持分区子表的映射。

参数值

说明

该参数值长度不能超过128个字节。库名、表空间名、角色名、模式名(用户名)和对象名支持通配符配置,包括*、A*、*A*、A*B和*B。容器名不支持通配符配置。

  • *:表示所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
  • A*:表示前缀为A的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
  • *A*:表示含A的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
  • A*B:表示前缀为A且后缀为B的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
  • *B:表示后缀为B的所有库、所有表空间、所有角色、所有模式(用户)和所有对象。
  • 表、序列

    • 不配置映射:

      • DM6数据库:模式名A.对象A==模式名A.对象A(右侧不配置库名的情况下以login下数据库名为准)

      • DM7、DM8、DB2、PostgreSQL、Kingbase、SQL Server数据库:模式名A.对象A==模式名A.对象A

      • MySQL/MariaDB数据库:库名A.对象A==库名A.对象A

      • Oracle非容器数据库:模式名A.对象A==模式名A.对象A

      • Oracle容器数据库(源库和目标库都为容器数据库)

        • 公共用户登录:容器名A.模式名A.对象A==模式名A.对象A

        • 本地用户登录:模式名A.对象A==模式名A.对象A

    • 配置映射:

      • DM6数据库:模式名A.对象A==[库名B.]模式名B.对象B

      • DM7、DM8、DB2、PostgreSQL、Kingbase、SQL Server数据库:模式名A.对象A==模式名B.对象B

      • MySQL/MariaDB数据库:库名A.对象A==库名B.对象B

      • Oracle非容器数据库:模式名A.对象A==模式名B.对象B

      • Oracle容器数据库(源库和目标库都为容器数据库)

        • 公共用户登录:容器名A.模式名A.对象A==模式名B.对象B

        • 本地用户登录:模式名A.对象A==模式名B.对象B

  • 分区子表

    分区子表不支持名称映射,仅用来进行同步过滤。

    • MySQL数据库:库名A.表A=@子表1,@子表2,...,@子表n

    • DM6、DM7、DM8、DB2、PostgreSQL、Kingbase、SQL Server数据库:模式名A.表A=@子表1,@子表2,...,@子表n

    • Oracle非容器数据库:模式名A.对象A=@子表1,@子表2,...,@子表n

    • Oracle容器数据库

      • 公共用户登录:容器名A.模式名A.对象A=@子表1,@子表2,...,@子表n

      • 本地用户登录:模式名A.对象A=@子表1,@子表2,...,@子表n

  • 视图、函数、存储过程、触发器、包、类、同义词和自定义类型对象

    • DM6数据库:模式名A.对象A==模式名A.对象A(右侧不配置库名的情况下以login下数据库名为准)

    • DM7、DM8、DB2、PostgreSQL、Kingbase、SQL Server数据库:模式名A.对象A==模式名A.对象A

    • MySQL/MariaDB数据库:库名A.对象A==库名A.对象A

    • Oracle非容器数据库:模式名A.对象A==模式名A.对象A

    • Oracle容器数据库(源库和目标库都为容器数据库)

      • 公共用户登录:容器名A.模式名A.对象A==模式名A.对象A

      • 本地用户登录:模式名A.对象A==模式名A.对象A

  • 表空间

    • 不配置映射:表空间名A==表空间名A

    • 配置映射:表空间名A==表空间名B

  • 角色

    角色名A.*==角色名A.*

  • 用户

    • 不配置映射:用户名A.*==用户名A.*

    • 配置映射:用户名A.*==用户名B.*

参数语法

  • 配置所有对象的白名单或映射。

    <item></item>
  • 配置所有对象的黑名单。

    <item disable="1"></item>
  • 配置对象类型的白名单或映射。

    • 配置表、用户、模式、角色和公共同义词的白名单或映射。

      <item type="table"></item>
    • 配置分区子表的白名单。

      <item type="part"></item>

      分区子表不支持名称映射,仅用来进行同步过滤。仅当item参数属性中含有type="part"时,才会对指定的表的分区子表判断黑白名单。若item参数属性中不含type="part"时,则默认为表的所有分区子表都允许同步。

      注意
      • 分区子表的DDL同步只对子表的truncate和drop操作判断黑白名单。
      • 分区子表的DML同步判断黑白名单暂只支持源数据库DM8。
      • 配置分区子表映射规则时,只需填写子分区名称,不能附带父表等名称。
    • 配置表空间的白名单或映射。

      <item type="tablespace"></item>

      支持表结构表空间属性同步映射。如需对表空间路径进行映射,需配置dir属性。

      注意
      • 创建表空间同步必须配置dir属性。
      • 仅支持源数据库DM7/DM8到目标数据库DM7/DM8/Oracle的表空间的DDL同步。
      • 源数据库为DM6、Oracle、MySQL/MariaDB、PostgreSQL、Kingbase和DB2时,不支持表空间的DDL同步。
      <item type="tablespace" dir="映射后的表空间路径"></item>
    • 配置序列、视图、函数、存储过程、触发器、包、类、同义词和自定义类型对象的白名单。

      <item type="object"></item>
  • 配置对象类型的黑名单。

    • 配置表、用户、模式、角色和公共同义词的黑名单。

      <item type="table" disable="1"></item>
    • 配置分区子表的黑名单。

      <item type="part" disable="1"></item>
    • 配置表空间的黑名单。

      <item type="tablespace" disable="1"></item>
    • 配置序列、视图、函数、存储过程、触发器、包、类、同义词和自定义类型对象的黑名单。

      <item type="object" disable="1"></item>

参数示例

  • 配置所有对象的白名单和映射,将源数据库RESOURCES模式的所有对象装载或同步到目标数据库的PERSON模式。

    <item>RESOURCES.*==PERSON.*</item>
  • 配置表的白名单和映射,将源数据库RESOURCES模式的所有表装载或同步到目标数据库的PERSON模式。

    <item type="table">RESOURCES.*==PERSON.*</item>
  • 配置序列、视图、函数、存储过程、触发器、包、类、同义词和自定义类型对象的白名单,将源数据库RESOURCES模式的以上对象装载或同步到目标数据库的RESOURCES模式。

    <item type="object">RESOURCES.*==RESOURCES.*</item>
  • 将源数据库表空间Tablespace_cpt映射到目标数据库表空间Tablespace_exec,并指定目标数据库表空间的路径。

    <item type="tablespace" dir="/opt/tablespace">Tablespace_cpt==Tablespace_exec</item>
  • 配置分区子表的黑名单,源数据库的RESOURCES.EMPLOYEE表下名称为PART_1、PART_2的分区子表不进行同步。

    <item type="part" disable="1">RESOURCES.EMPLOYEE=@PART_1,@PART_2</item>
  • 配置对象黑名单,源数据库的表RESOURCES.EMPLOYEE不进行装载或同步。

    <item disable="1">RESOURCES.EMPLOYEE==PERSON.EMPLOYEE</item>
  • 配置源库和目标库都为容器库的白名单。

    <item>COMPANY.RESOURCES.*==PERSON.*</item>
  • 配置角色的NEW_DMDRS的白名单。

    <item>NEW_DMDRS.*==NEW_DMDRS.*</item>
  • 配置普通视图对象的白名单,将源数据库RESOURCES模式的所有普通视图对象装载或同步到目标数据库的RESOURCES模式。

    <item type="view">RESOURCES.*==RESOURCES.*</item>
3.1.9.7.2 tableitem

参数含义

配置源DMDRS装载和同步中表对象的列的黑/白名单和映射功能。

参数说明

可以为源DMDRS装载和同步的DML操作配置列的黑/白名单和映射。如需配置多个表对象列的黑/白名单和映射,可配置多个<tableitem></tableitem>标签。当前不支持配置DDL操作的表对象列的黑/白名单和映射。

该参数是一个功能标签,需要配置它的子项tablename、type和colitem。如需配置表对象中多个列的黑/白名单和映射,可配置多个<colitem></colitem>标签。

参数语法

<tableitem></tableitem>

参数示例

<tableitem> <tablename>RESOURCES.EMPLOYEE</tablename> <type>0</type> <colitem>DEPT==DEPARTMENT</colitem> </tableitem>

####### 3.1.9.7.2.1 colitem*

参数含义

列映射的源列名和目标列名。

参数说明

源列名和目标列名为具体的列名称。

参数值

源列名==目标列名。

参数语法

<colitem></colitem>

参数示例

<colitem>DEPT==DEPARTMENT</colitem>

####### 3.1.9.7.2.2 tablename*

参数含义

列映射的表对象名。

参数说明

参数值

列映射的表对象名。

当源数据库类型为Oracle容器数据库、PostgreSQL、Kingbase或openGauss时,需要指定容器名/库名。

参数语法

<tablename></tablename>

参数示例

  • 配置DM8数据库的列映射的表对象名。

    <tablename>RESOURCES.EMPLOYEE</tablename>
  • 配置Oracle容器数据库的列映射的表对象名,需要指定容器名。

    <tablename>ORCLPDB.RESOURCES.EMPLOYEE</tablename>
  • 配置Kingbase数据库的列映射的表对象名,需要指定库名。

    <tablename>kingbase.resources.employee</tablename>

####### 3.1.9.7.2.3 type*

参数含义

列映射的模式。

参数说明

可以指定列映射功能的具体模式。

参数值

  • 0:普通模式。配置了列映射的源列,将按映射后的列名装载和同步到目标列;未配置列映射的源列,将按源列名装载和同步到目标列。

  • 1:黑名单模式。配置了列映射的源列,将不能装载和同步;未配置列映射的源列,将按源列名装载和同步到目标列。

  • 2:白名单模式。配置了列映射的源列,将按映射后的列名装载和同步到目标列;未配置列映射的源列,将不能装载和同步。

参数语法

<type></type>

参数示例

<type>0</type>
3.1.9.8 max_speed

参数含义

数据同步时源DMDRS向目标DMDRS每秒发送的最大字节数。

参数说明

该参数能够限定数据同步时发送数据占用的带宽,防止过多地占用带宽而影响其他业务的正常运行。

参数值

取值范围:32~4194303, 单位:KB,默认值为最大值4194303,表示无上限。

参数语法

<max_speed></max_speed>

参数示例

<max_speed>4194303</max_speed>
3.1.9.9 net_turns_opt

参数含义

网闸模式下是否启用额外冗余发送包功能。

参数说明

针对部分网闸新增的限制:要求发送包必须大于等于回执包数量。配置该功能后,源DMDRS会额外的发送冗余包且不回执。开启该参数功能需要优先开启网闸功能(即enable_net_turns配置为1)。

参数值

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

  • 1:启用。

参数语法

<net_turns_opt></net_turns_opt>

参数示例

<net_turns_opt>1</net_turns_opt>
3.1.9.10 package_size

参数含义

发送消息的应用层封包大小。

参数说明

发送消息时,会将多条消息打包一次发送。适当增加该参数值,会减少交互次数。设置过大,则可能会浪费内存资源。

参数值

取值范围:64 ~8192,单位:KB,默认值为1000。

参数语法

<package_size></package_size>

参数示例

<package_size>1000</package_size>
3.1.9.11 port

参数含义

下一级DMDRS服务的Manager模块的端口号。

参数说明

DMDSS服务或目标DMDRS服务的Manager模块的端口号。

参数值

取值范围:1000~65535。

参数语法

<port></port>

参数示例

<port>17345</port>
3.1.9.12 server

参数含义

下一级DMDRS服务的IP地址、Manager模块的端口号与接收模块名称的集合。

参数说明

DMDSS服务或目标DMDRS服务的IP地址、Manager模块的端口号与接收模块的名称。

  • 下一级为DSS主备集群。

    • 当源DMDRS处于网闸模式时,必须使用server参数来配置多个DSS节点。

    • 当源DMDRS不处于网闸模式时,可以配置server参数,且server参数中仅需配置DSS主备集群中任意一个在线的DSS节点,或者单独配置3.1.9.5 ip3.1.9.11 port3.1.9.14 target_name章节参数,两种配置方法选择其中一种即可,当同时配置时,仅server参数生效。

  • 下一级为EXEC主备集群。

    • 当源DMDRS处于网闸模式时,必须使用server参数来配置多个EXEC节点。

    • 当源DMDRS不处于网闸模式时,可以配置server参数,且server参数仅需要配置EXEC主备集群中的主节点,或者单独配置主节点的3.1.9.5 ip3.1.9.11 port3.1.9.14 target_name参数,两种配置方法选择其中一种即可,当同时配置时,仅server参数生效。当前EXEC主备只支持一主一备两个节点。

  • 下一级不为DSS主备和EXEC主备集群。

    当源DMDRS处于网闸模式或者不处于网闸模式时,都可以配置server参数或者单独配置3.1.9.5 ip3.1.9.11 port3.1.9.14 target_name章节参数,两种配置方法选择其中一种即可,当同时配置时,仅server参数生效。

参数值

IP地址、Manager模块的端口号与接收模块的名称的集合。配置格式为IP:Port/Name[,IP:Port/Name,...]。

参数语法

<server></server>

参数示例

  • 配置下一级为本机的目标DMDRS服务。

    <server>127.0.0.1:17345/exec_ora</server>
  • 当源DMDRS处于网闸模式时,配置下一级为DSS主备集群。

    <server>127.0.0.1:10809/dss_active,127.0.0.1:10810/dss_standby1,127.0.0.1:10811/dss_standby2</server>
  • 当源DMDRS处于网闸模式时,配置下一级为EXEC主备集群。

    <server>192.168.20.23:5360/exec_dm8,192.168.20.24:5360/exec_dm8</server>
3.1.9.13 standby

参数含义

源DMDRS服务的备用发送地址。

参数说明

主地址无法连接时自动尝试连接备用地址发送,最多支持4个备用地址。

参数值

参数语法

<standby></standby>

参数示例

<standby> <item> <ip>192.168.60.1</ip> <port>17345</port> </item> </standby>
3.1.9.13.1 item

参数含义

配置备用发送地址信息。

参数说明

该参数的配置数量与备用发送地址的个数相同。该参数是一个功能标签,需要配置它的子项。item参数的配置对应item元素,配置文件中的item元素以标签<item>开始,以标签</item>结束。

参数值

参数语法

<item></item>

参数示例

<standby> <item> <ip>192.168.60.1</ip> <port>17345</port> </item> </standby>

####### 3.1.9.13.1.1 ip

参数含义

备用的发送IP地址。

参数说明

备用服务所在服务器的IP地址。

参数值

IP地址。

参数语法

<ip></ip>

参数示例

<ip>192.168.60.1</ip>

####### 3.1.9.13.1.2 port

参数含义

备用的发送端口号。

参数说明

备用服务的端口号。

参数值

取值范围:1000~65535。

参数语法

<port></port>

参数示例

<port>17345</port>
3.1.9.14 target_name

参数含义

下一级DMDRS服务的接收模块的名称。

参数说明

DMDSS服务或目标DMDRS服务中DSS模块或EXEC模块的名称。

参数值

下一级接收模块的名称。

参数语法

<target_name></target_name>

参数示例

<target_name>dss_active</target_name>
3.1.9.15 timeout

参数含义

发送消息和接收消息的超时时间。

参数说明

投递或接收下一级回执消息时的超时时间,如果达到该时间未能收到回执或是发送失败,则断开重连。

参数值

取值范围:0~6000,单位:s,默认值为600。

参数语法

<timeout></timeout>

参数示例

<timeout>600</timeout>
3.1.9.16 topic

参数含义

当前CPT模块的主题。

参数说明

每个CPT模块对应一个Topic,用户可通过订阅不同的Topic来获取所需要的信息。

参数值

CPT模块对应的主题名,默认为CPT模块的名称。

参数语法

<topic></topic>

参数示例

<topic>cpt_dm8</topic>

3.1.10 siteid

参数含义

CPT模块的站点号。

参数说明

此参数仅适用于源DMDRS服务下包含多个CPT模块的使用场景,需要单独配置各个CPT模块的站点号。

此参数为CPT模块在数据传输链路中的唯一标识,配置时请确保唯一性,如果重复,会造成链路中数据复制的混乱。

参数值

取值范围:1~30000。

参数语法

<siteid></siteid>

参数示例

<siteid>1</siteid>
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服