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

达梦数据复制软件DMDRS配置参数-CPT模块功能参数(一)

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

3.2 功能参数

介绍CPT模块的功能参数。

3.2.1 arch

参数含义

数据库归档删除功能。

参数说明

该参数用来配置源DMDRS如何处理归档日志。配置该参数后,源DMDRS将对已完成分析的归档日志文件进行处理。

说明
  • 该功能不适用于Oracle RAC源数据库。
  • 当只有一个源DMDRS服务连接源数据库时,使用该参数删除数据库的归档日志。当多个源DMDRS服务同时连接同一个源数据库时,如果需要删除归档日志,必须配置多CPT删除归档功能。

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

参数值

参数语法

<arch></arch>

参数示例

<arch> <clear_policy>1</clear_policy> <clear_interval>600</clear_interval> <dir>/data/arch</dir> </arch>
3.2.1.1 bak_dir

参数含义

归档日志文件的备份目录。

参数说明

当clear_policy配置为2时,该参数才有效。清理归档时将能清理的归档转移至该目录下。路径(包括归档文件名)的命名长度最大为256个字符。

参数值

参数语法

<bak_dir></bak_dir>

参数示例

<bak_dir>/opt/arch/bak_log</bak_dir>
3.2.1.2 clear_interval

参数含义

归档日志清理的间隔时间。

参数说明

源数据库归档删除由源DMDRS执行,该参数设置删除操作的间隔时间。当clear_policy配置为1或2时,该参数才有效。

参数值

取值范围:60~65535,单位:秒,默认值为3600。

参数语法

<clear_interval></clear_interval>

参数示例

<clear_interval>3600</clear_interval>
3.2.1.3 clear_policy

参数含义

归档日志的清理策略。

参数说明

该参数的原名为clear_flag。

由于数据增量同步需要打开数据库的归档功能,不断产生的归档需要有一个清理策略来处理,需要根据实际情况设置该参数值。启用该功能参数需要与数据库DBA管理员进行确认。

注意
  • 该参数不适用于MySQL源数据库。
  • 对于DB2数据库,如果要启用该功能,DMDRS服务需要使用实例用户运行或者运行前配置环境变量,确保能够成功调用db2flsn工具。

参数值

  • 0:不启用归档删除功能。默认值为0。

  • 1:删除源数据库已完成分析的归档文件。

  • 2:将源数据库已完成分析的归档文件转移至配置的备份目录中。

参数语法

<clear_policy></clear_policy>

参数示例

<clear_policy>0</clear_policy>
3.2.1.4 dir

参数含义

归档日志文件的目录。

参数说明

该参数仅适用源数据库为DM7、DM8单机、Oracle单机。当cpt_mask配置有NO_CONNECTION时,该参数为必配参数。表示源端解析归档日志文件的目录,路径(包括归档文件名)的命名长度最大为256个字符。

参数值

参数语法

<dir></dir>

参数示例

<dir>/data/arch</dir>

3.2.2 calc_md5_col_num

参数含义

计算行MD5的列数量。

参数说明

源DMDRS通过该参数来指定列,在发送DML操作时使用指定列的列值来计算操作行的MD5并填充到消息中,目标DMDRS会利用该MD5进行行冲突检测,即判断不同的DML操作行之间是否有冲突。

该查找结果仅在目标DMDRS开启row hash并行优化功能时被使用。指定的列数越多,冲突检测结果越精确,开启并发优化功能的效果就越好,但是过多的列参与计算MD5也可能导致源端发送性能下降或CPU使用率上升。

参数值

取值范围:-1~2147483647,默认值为5。源数据库除Oracle和DM外,其他数据库不允许配置为0。

  • -1:源DMDRS将不计算行MD5。

  • 0:

    • 如果表存在主键,将使用主键的列值计算MD5来标识当前行。

    • 如果表不存在主键,将使用ROWID来计算行MD5。

  • 1~2147483647:

    • 如果表存在主键,将使用主键的列值计算MD5来标识当前行。

    • 如果表不存在主键:

      • 当表中列数不小于该参数值时,将使用表的前N(N为该参数值)列来计算行MD5。

      • 当表中列数小于该参数值时,将使用全列来计算行MD5。

参数语法

<calc_md5_col_num></calc_md5_col_num>

参数示例

<calc_md5_col_num>5</calc_md5_col_num>

3.2.3 char_code

参数含义

源DMDRS的字符集。

参数说明

数据字符集编码转换功能具体如下:

  • 当源DMDRS的字符集配置与源数据库的字符集一致时,源DMDRS对源数据库数据的编码不进行转换;当源DMDRS的字符集配置与源数据库的字符集不一致时,源DMDRS会将源数据库数据的编码转换为源DMDRS的字符集后向下一级投递。

  • 当源DMDRS的字符集与目标DMDRS的字符集配置一致时,目标DMDRS对收到的数据的编码不进行转换,直接传给目标数据库驱动;当源DMDRS的字符集与目标DMDRS的字符集配置不一致时,目标DMDRS会将收到的数据的编码转换为目标DMDRS的字符集后传给目标数据库驱动。

  • 当目标DMDRS的字符集配置与目标数据库的编码一致时,目标数据库驱动对数据的编码不进行转换直接入库;当目标DMDRS的字符集配置与目标数据库的编码不一致时,目标数据库驱动会将数据的编码从目标DMDRS的字符集转化为目标数据库的字符集后入库。

以下表为例介绍数据编码转换的几种情况。

源数据库字符集 源DMDRS字符集 源DMDRS编码转换情况 目标DMDRS字符集 目标DMDRS编码转换情况 目标数据库驱动编码转换情况 目标数据库字符集
A A 不转换 A 不转换 不转换 A
A B 源DMDRS转换字符集为B B 不转换 不转换 B
A A 不转换 B 目标DMDRS转换字符集为B 不转换 B
A A 不转换 A 不转换 目标数据库驱动转换字符集为B B

源DMDRS的字符集和目标DMDRS的字符集(参见4.2.3 char_code章节)具体配置如下所示。

说明

数据的编码转换会影响DMDRS的性能,用户可根据实际场景进行配置来控制数据编码转换的位置。

  • 当源数据库与目标数据库的字符集一致时,无需进行编码转换,建议源DMDRS的字符集和目标DMDRS的字符集均使用默认值,默认值分别为源数据库和目标数据库的字符集。

  • 当源数据库与目标数据库的字符集不一致时,需要进行编码转换,建议根据具体情况选择如下配置:

    • 源DMDRS和目标DMDRS的字符集均使用默认值。该配置的编码转换由目标DMDRS完成。

      • 源DMDRS的字符集使用默认值与源数据库的字符集一致,源DMDRS对数据的编码不进行转换;

      • 源DMDRS投递的数据字符集与目标DMDRS的字符集不一致,目标DMDRS会将收到的数据的编码转换为目标DMDRS配置的字符集后传给目标数据库驱动;

      • 目标DMDRS的字符集使用默认值与目标数据库的字符集一致,目标数据库驱动将不进行编码转换。

    • 源DMDRS的字符集配置为目标数据库的字符集,目标DMDRS的字符集使用默认值即目标数据库的字符集。该配置的编码转换由源DMDRS完成。

      • 源DMDRS的字符集与源数据库字符集不一致,源DMDRS将数据编码转换为源DMDRS的字符集后向下一级投递;

      • 目标DMDRS的字符集使用默认值即源DMDRS与目标DMDRS所配置的字符集一致,目标DMDRS不进行编码转换;

      • 目标DMDRS的字符集与目标数据库的字符集一致,目标数据库驱动将不进行编码转换。

    • 目标DMDRS的字符集配置为源数据库的字符集,源DMDRS的字符集使用默认值即源数据库字符集。该配置的编码转换由目标库驱动完成。

      • 源DMDRS的字符集使用默认值与源数据库字符集一致,源DMDRS对数据不进行编码转换;

      • 目标DMDRS的字符集配置为源数据库字符集与源DMDRS的字符集一致,目标DMDRS不进行编码转换;

      • 目标DMDRS的字符集与目标数据库的字符集不一致,目标数据库驱动将收到的数据(编码为源数据库字符集)转换为目标数据库的字符集。

该参数不适用于DM6源数据库。

注意
  • 对于DB2数据库,DMDRS的字符集默认与DB2客户端字符集一致,无需手动配置。
  • 当源数据库为Kingbase时,源DMDRS服务所在终端字符集需与Kingbase数据库字符集保持一致。

参数值

取值范围:UTF-8、GBK和GB18030。默认值为源数据库的字符集。

参数语法

<char_code></char_code>

参数示例

<char_code>GB18030</char_code>

3.2.4 clear

参数含义

DDL辅助表定期清理功能。

参数说明

该参数是一个功能标签,需要配置它的子项。适用于源数据库为PostgreSQL、DM6、DM7和DM8的场景。

启用该功能后,源DMDRS会定期清理源数据库中由DMDRS维护的DDL辅助表历史数据,避免辅助表长期累积,占用过多存储空间。

说明

该功能仅清理源DMDRS创建的DDL辅助表历史数据,不会删除源数据库业务表数据,也不会影响已经同步到目标数据库的数据。

参数值

参数语法

<clear></clear>

参数示例

<ddl_mask>OBJ:OP</ddl_mask> <clear> <clear_ddl_info>1</clear_ddl_info> <retain_day>7</retain_day> </clear>
3.2.4.1 clear_ddl_info

参数含义

是否启用DDL辅助表定期清理功能。

参数说明

该参数配置在clear标签内。启用后,源DMDRS会在定时调度过程中,按当前可安全清理的边界删除过期的DDL辅助表历史数据。

参数值

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

  • 1:启用。

参数语法

<clear_ddl_info></clear_ddl_info>

参数示例

<clear_ddl_info>1</clear_ddl_info>
3.2.4.2 retain_day

参数含义

DDL辅助表历史数据的保留天数。

参数说明

该参数配置在clear标签内,仅当clear_ddl_info配置为1时有效。源DMDRS执行清理时,会在当前可安全清理边界的基础上,再额外保留该参数指定天数内的DDL辅助表数据。

当参数值配置为0时,不额外保留天数,清理所有满足当前安全边界的DDL辅助表历史数据。

参数值

取值范围:0及以上整数,单位:天,默认值为7。

参数语法

<retain_day></retain_day>

参数示例

<retain_day>7</retain_day>

3.2.5 cluster

参数含义

源DMDRS的主备功能。

参数说明

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

参数值

参数语法

<cluster></cluster>

参数示例

<cluster> <mode>master</mode> <buf_size>32</buf_size> <standby> <item> <ip>192.168.20.21</ip> <port>5351</port> <target_name>cpt_dm8</target_name> </item> </standby> </cluster>
注意

配置DMDRS主备功能后,需使源DMDRS主节点和备节点的XML配置文件中除login和cluster配置项外的其它配置参数保持一致。

3.2.5.1 buf_size

参数含义

主备功能使用的缓冲区大小。

参数说明

该参数的原名为buffer。

DMDRS主备系统初始化启动时,根据buf_size配置的大小,从操作系统一次性申请该大小的内存空间,用于缓存主备数据。

参数值

根据实际情况配置,单位:MB,默认值为32。

参数语法

<buf_size></buf_size>

参数示例

<buf_size>32</buf_size>
3.2.5.2 llog_limit

参数含义

源DMDRS主备的主节点或备节点缓存的LLOG主备数据日志文件的大小上限。

参数说明

  • 当主节点检测到主节点的最新LLOG日志写LSN和备节点LLOG日志应用LSN的差值大于该参数值时,会将该节点标记为过期节点并根据其他正常备节点的同步进度清理LLOG日志。

  • 当备节点检测到本地缓存的LLOG日志文件大小超过该参数值时,将暂停接收主节点发送过来的LLOG日志。

参数值

取值范围:1024~2147483647,单位:MB。默认值为16384。根据硬盘实际空间大小设置。

参数语法

<llog_limit></llog_limit>

参数示例

<llog_limit>16384</llog_limit>
3.2.5.3 local

参数含义

源DMDRS服务的IP地址。

参数说明

  • 当源DMDRS的运行环境为容器等特殊环境,源DMDRS服务的真实IP可能发生变化时需配置该参数。

  • 当源数据库为DM8主备,DMDRS远程读归档并且为主备架构时需配置该参数。

注意

在主节点配置了错误的local参数值的情况下执行DMDRS主备切换后,DMDRS主备会因主节点获取到错误的备节点IP而无法再次切换。此时可以通过在新的主节点上配置standby参数来重新指定备节点IP。

参数值

IP地址。当local参数值的格式为IP地址时,该参数默认值同local参数的值。否则默认值为空,此时将由对端节点根据网络连接自动判断本节点的IP地址。

参数语法

<local></local>

参数示例

<local>192.168.60.2</local>
3.2.5.4 mode*

参数含义

主备模式。

参数说明

该参数用来配置CPT模块启动时作为主节点还是备节点。主备模式的配置只在模块第一次启动时有效,后续可执行命令切换模块的主备节点或者在主节点发生故障后由备节点自动切换。

参数值

  • master:主节点。

  • slave:备节点。

参数语法

<mode></mode>

参数示例

<mode>master</mode>
3.2.5.5 priority

参数含义

源DMDRS主机优先运行在数据库主备的主机上还是备机上。

参数说明

配置该参数后,当源DMDRS主机连接的数据库本地实例的主备模式不为期望的主机/备机时,会尝试检查DMDRS备机连接的数据库本地实例,如果其满足期望的主备模式和必要的切换条件时,将自动切换到DMDRS备机。

该参数可配置最近一次切换和触发自动切换尝试之间的最小间隔时间。

启用该功能需要在源DMDRS的主机和备机上都配置该参数。

参数值

参数格式为x,y,具体取值范围如下:

  • x取值范围:-1、0、1。

    • -1:优先运行在数据库主备的备机上。

    • 0:不开启该参数。

    • 1:优先运行在数据库主备的主机上。

  • y取值范围:0~2147483646,表示最近一次切换和触发自动切换尝试之间的最小间隔时间,单位为秒。

默认值为0,0,此时将不启用该功能。

参数语法

<priority></priority>

参数示例

<priority>-1,60</priority>
3.2.5.6 standby

参数含义

备节点的信息。

参数说明

该参数用来在主节点配置一个或多个备节点的信息。当CPT模块为主节点时,需要配置备节点的信息。

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

该参数在第一次启动主节点服务后不支持静态修改,可使用DMDRS主备命令动态修改。

参数值

参数语法

<standby></standby>

参数示例

<standby> <item> <ip>192.168.20.21</ip> <port>5351</port> <target_name>cpt_dm8</target_name> </item> </standby>
3.2.5.6.1 item*

参数含义

单个备节点的信息。

参数说明

配置DMDRS服务作为主节点时连接的备节点,如有多个备节点对应配置多个<item></item>标签。

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

参数值

参数语法

<item></item>

参数示例

<item> <ip>192.168.20.21</ip> <port>5351</port> <target_name>cpt_dm8</target_name> </item>

####### 3.2.5.6.1.1 ip*

参数含义

备节点的IP地址。

参数说明

参数值

IP地址。

参数语法

<ip></ip>

参数示例

<ip>192.168.20.21</ip>

####### 3.2.5.6.1.2 port*

参数含义

备节点的Manager模块的端口号。

参数说明

注意

当源DMDRS的运行环境为容器等需要配置端口映射的特殊环境时,需将Manager模块的端口号映射到相同的主机端口号。

参数值

备节点的Manager模块的端口号。

参数语法

<port></port>

参数示例

<port>5351</port>

####### 3.2.5.6.1.3 target_name*

参数含义

备节点的CPT模块的名称。

参数说明

参数值

备节点的CPT模块的名称。

参数语法

<target_name></target_name>

参数示例

<target_name>cpt_dm8</target_name>
3.2.5.7 wait_time

参数含义

自动切换时备节点等待主节点恢复的时间。

参数说明

如果超过该时间主节点未恢复,则备节点将成为主节点。

参数值

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

参数语法

<wait_time></wait_time>

参数示例

<wait_time>5</wait_time>

3.2.6 cpt_mask

参数含义

日志解析掩码。

参数说明

参数值

以掩码自由组合的方式进行配置,以:号作为分隔符。参数值不区分大小写。

参数取值范围:

  • ARCH_READ:只解析归档日志、登录数据库。

  • NET_READ:远程网络读取归档日志。

  • ARCH_READ:NO_CONNECTION:只解析归档日志、不登录数据库。

默认为既解析在线日志又解析归档日志且登录数据库。

日志解析掩码说明表
日志解析掩码 说明
ARCH_READ CPT分析日志时,只解析归档日志。
NET_READ 通过网络远程读取归档日志,仅适用于源数据库为MySQL/MariaDB、Oracle数据库。
NO_CONNECTION CPT分析日志时,不登录数据库服务。
该掩码仅适用于DM7、DM8(单机、DMDSC)和Oracle 10g及以上版本(单机、RAC)数据库。
使用该掩码,当源数据库为Oracle单机、DM7或者DM8单机时,需配置login中的dbtype参数以及arch中的dir参数;当源数据库为Oracle RAC、DMDSC时,需配置rac中arch_dir参数,暂不支持解析ASM上的归档日志。
使用该掩码,需将源DMDRS的char_code参数配置为源数据库的字符集。

参数语法

<cpt_mask></cpt_mask>

参数示例

<cpt_mask>ARCH_READ</cpt_mask> <cpt_mask>ARCH_READ:NO_CONNECTION</cpt_mask> <cpt_mask>NET_READ</cpt_mask>

3.2.7 cvt_dir

参数含义

清洗转换功能使用的CVT脚本文件目录。

参数说明

该文件夹路径下所有的CVT文件可以共同生效。

注意

请勿将除CVT脚本文件外的其它文件放入该目录,该目录可能被清理。

参数值

CVT脚本文件所在目录。

参数语法

<cvt_dir></cvt_dir>

参数示例

<cvt_dir>/home/dmdrs/dmdrs5/bin/drs_script</cvt_dir>

3.2.8 db_receive_timeout

参数含义

DMDRS等待数据库服务端返回消息的超时时间。

参数说明

该参数仅适用于Oracle数据库。0表示不配置超时时间。当需要DMDRS在长时间没有接收到数据库服务端的返回消息时主动退出等待时可以配置该参数,配置后,超过配置的超时时间后服务端仍未返回消息时,DMDRS连接会返回超时错误。超时断开连接下次使用会自动检查并重连。

参数值

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

参数语法

<db_receive_timeout></db_receive_timeout>

参数示例

<db_receive_timeout>600</db_receive_timeout>

3.2.9 ddl_mask

参数含义

DDL同步功能掩码。

参数说明

  • 若不配置该参数,即配置文件无该配置项时,默认可以同步表(包括分区表)、索引和约束对象的所有DDL操作。

  • 若配置为空,表示所有DDL对象的DDL操作都无法同步。

参数值

以掩码自由组合的方式进行配置,不同掩码之间以:号或者|作为分隔符,两种分隔符不能混用。支持的各数据库的DDL操作具体请参见《DMDRS产品介绍》“3.2 支持的数据库操作”章节。

参数值不区分大小写。

  • DDL对象掩码:

    • TABLE:允许同步对象为表的DDL操作。

    • INDEX:允许同步对象为索引的DDL操作。

    • CHECK:允许同步对象为CHECK约束的DDL操作。

    • VIEW:允许同步对象为视图的DDL操作。

    • FUNCTION(简写为FUN):允许同步对象为函数的DDL操作。

    • SEQUENCE(简写为SEQ):允许同步对象为序列的DDL操作。当源数据库为Oracle时,自增列的同步需要开启此掩码。

    • PROCEDURE(简写为PRO):允许同步对象为存储过程的DDL操作。

    • TRIGGER(简写为TR):允许同步对象为触发器的DDL操作。

    • PACKAGE(简写为PKG):允许同步对象为包的DDL操作。

    • TYPE:允许同步对象为类的DDL操作。

    • SYNONYM(简写为SYN):允许同步对象为同义词的DDL操作。

    • USER:允许同步对象为用户的DDL操作。

    • ROLE:允许同步对象为角色的DDL操作。

    • SCHEMA:允许同步对象为模式的DDL操作。

    • TABLESPACE(简写为TS):允许同步对象为表空间的DDL操作。

    • OBJECT(简写为OBJ):允许同步上述所有的对象。

  • DDL操作掩码:

    • CREATE:允许同步对象的创建操作。

    • DROP:允许同步对象的删除操作。

    • ALTER:允许同步对象的修改操作。

    • TRUNCATE(简写为TRUNC):允许同步表的清空操作。

    • OPERATION(简写为OP):允许同步对象的上述所有操作、GRANT操作和REVOKE操作。

  • DCL操作掩码:

    • GRANT:允许同步授权操作。

    • REVOKE:允许同步回收权限操作。

  • 其他DDL掩码:

    • SQL:同步DDL时通过直接转发SQL语句的方式同步。

    • DDL_REC:允许调试打印同步的DDL操作。

    • DISABLE:禁止同步操作。

    • DDL_WARN:未开启DDL同步时,捕获到DDL操作,打印提示信息。

    • PRINT_SEQNEXTVAL:打印序列值更新操作的日志信息。(仅源数据库为Oracle时生效)

参数语法

<ddl_mask></ddl_mask>

参数示例

<ddl_mask>OBJ:OP</ddl_mask>

3.2.10 ddl_with_ts

参数含义

在对同步表DDL操作时,是否启用捕获表空间信息。

参数说明

如需对同步表指定表空间映射,请启用该参数。该参数不适用于MySQL/MariaDB源数据库。

注意

当源数据库为DM7/DM8,使用系统表方式同步创建表空间(以表空间A为例)后,需要在源DMDRS服务上执行添加增量同步表命令ALTER CPT ADD DICT "SCH.NAME IS NOT NULL"(具体请参见添加和更新增量同步表)来更新新建表空间信息到字典系统中,随后建表可指定表空间A属性,否则建表同步无法获取表空间A属性。

参数值

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

  • 1:启用。

参数语法

<ddl_with_ts></ddl_with_ts>

参数示例

<ddl_with_ts>0</ddl_with_ts>

3.2.11 delay_unlock_row

参数含义

源DMDRS分组装载锁表后延迟释放锁的条件行数。

参数说明

该参数的原名为delay_unlock_rows。

该参数仅适用于DM源数据库。配置该参数后,以锁表方式分组装载时,fetch到条件行数后才释放表锁。若该组行数少于配置行数,则分组数据查询完后就释放表锁。

参数值

取值范围:0~2147483647,单位:行,默认值为0。

参数语法

<delay_unlock_row></delay_unlock_row>

参数示例

<delay_unlock_row>10000</delay_unlock_row>

3.2.12 disable_user

参数含义

源数据库中需要过滤操作的用户。

参数说明

该参数仅适用于源数据库DM8数据库。用于过滤不需要同步的用户的操作。可指定用户名或者用户ID,当有多个用户的操作需要过滤时,用“,”进行分隔。

参数值

参数语法

<disable_user></disable_user>

参数示例

<disable_user>SYSDBA,16777217</disable_user>

3.2.13 dml_with_coldef

参数含义

DML同步时,是否启用传递列精度和列标度信息。

参数说明

当DMDRS与DMDIS或Kafka等第三方应用结合使用时,用户可根据实际情况选择启用该参数。

参数值

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

  • 1:启用。

参数语法

<dml_with_coldef></dml_with_coldef>

参数示例

<dml_with_coldef>0</dml_with_coldef>

3.2.14 dpc

参数含义

源数据库为DMDPC时部署在MP/BP节点上的源DMDRS配置。

参数说明

该参数是一个功能标签,需要配置它的子项。该参数仅适用于DMDPC源数据库,部署在MP/BP节点上的源DMDRS服务需要配置。

当源数据库节点数较多时,可将该参数单独写到名为drs_dpc.xml的文件中,与原配置文件放在同一目录下。

参数值

参数语法

<dpc></dpc>

参数示例

  • 部署在MP节点的源DMDRS配置

    <dpc> <dpc_type>MP</dpc_type> <dpc_db_info> <dpc_ip>192.168.20.24</dpc_ip> <dpc_port>5236</dpc_port> </dpc_db_info> <dpc_drs_info> <item> <drs_ip>192.168.20.25</drs_ip> <drs_port>5345</drs_port> <drs_name>drs_BP1</drs_name> <raft_id>1</raft_id> </item> <item> <drs_ip>192.168.20.26</drs_ip> <drs_port>5345</drs_port> <drs_name>drs_BP2</drs_name> <raft_id>2</raft_id> </item> </dpc_drs_info> </dpc>
  • 部署在BP节点的源DMDRS配置

    <dpc> <dpc_type>BP</dpc_type> <dpc_db_info> <dpc_ip>192.168.20.25</dpc_ip> <dpc_port>5236</dpc_port> </dpc_db_info> <dpc_drs_info> <item> <drs_ip>192.168.20.24</drs_ip> <drs_port>5345</drs_port> <drs_name>drs_MP</drs_name> </item> </dpc_drs_info> </dpc>
3.2.14.1 dpc_db_info*

参数含义

源数据库DMDPC的MP/BP节点的数据库信息。

参数说明

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

参数值

参数语法

<dpc_db_info></dpc_db_info>

参数示例

<dpc_db_info> <dpc_ip>192.168.20.24</dpc_ip> <dpc_port>5236</dpc_port> </dpc_db_info>
3.2.14.1.1 dpc_ip*

参数含义

源数据库DMDPC的MP/BP节点的IP地址。

参数说明

参数值

  • 配置部署在MP节点上的源DMDRS服务时,该参数为MP节点的IP地址。

  • 配置部署在BP节点上的源DMDRS服务时,该参数为BP节点的IP地址。

参数语法

<dpc_ip></dpc_ip>

参数示例

<dpc_ip>192.168.20.24</dpc_ip>
3.2.14.1.2 dpc_port*

参数含义

源数据库DMDPC的MP/BP节点的端口号。

参数说明

参数值

  • 配置部署在MP节点上的源DMDRS服务时,该参数为MP节点的端口号。

  • 配置部署在BP节点上的源DMDRS服务时,该参数为BP节点的端口号。

参数语法

<dpc_port></dpc_port>

参数示例

<dpc_port>5236</dpc_port>
3.2.14.2 dpc_drs_info*

参数含义

源数据库DMDPC的MP/BP节点的DMDRS服务的连接信息。

参数说明

该参数用来配置部署在源数据库DMDPC的MP/BP节点的DMDRS服务去连接dpc_type参数值不相同的其他所有节点。

该参数是一个功能标签,需要配置它的子项。如需配置多个节点的连接信息,可以配置多个<item></item>标签。

参数值

参数语法

<dpc_drs_info></dpc_drs_info>

参数示例

<dpc_drs_info> <item> <drs_ip>192.168.20.25</drs_ip> <drs_port>5345</drs_port> <drs_name>drs_BP1</drs_name> <raft_id>1</raft_id> </item> <item> <drs_ip>192.168.20.26</drs_ip> <drs_port>5345</drs_port> <drs_name>drs_BP2</drs_name> <raft_id>2</raft_id> </item> </dpc_drs_info>
3.2.14.2.1 item*

参数含义

DMDRS服务的连接信息。

参数说明

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

参数值

参数语法

<item></item>

参数示例

<item> <drs_ip>192.168.20.25</drs_ip> <drs_port>5345</drs_port> <drs_name>drs_BP1</drs_name> <raft_id>1</raft_id> </item>

####### 3.2.14.2.1.1 drs_ip*

参数含义

需要连接的源DMDRS服务的IP地址。

参数说明

该参数仅适用于源数据库DMDPC的MP和BP节点。仅配置部署在MP和BP节点上的源DMDRS服务时,需要配置该参数。

参数值

参数语法

<drs_ip></drs_ip>

参数示例

<drs_ip>192.168.20.25</drs_ip>

####### 3.2.14.2.1.2 drs_name*

参数含义

需要连接的源DMDRS服务的CPT模块的名称。

参数说明

该参数仅适用于源数据库DMDPC的MP和BP节点。仅配置部署在MP和BP节点上的源DMDRS服务时,需要配置该参数。

参数值

参数语法

<drs_name></drs_name>

参数示例

<drs_name>drs_BP1</drs_name>

####### 3.2.14.2.1.3 drs_port*

参数含义

需要连接的源DMDRS服务的端口号。

参数说明

该参数仅适用于源数据库DMDPC的MP和BP节点。仅配置部署在MP和BP节点上的源DMDRS服务时,需要配置该参数。

参数值

取值范围:1000~65535。

参数语法

<drs_port></drs_port>

参数示例

<drs_port>5345</drs_port>

####### 3.2.14.2.1.4 is_master

参数含义

需要连接的源DMDRS服务是否是主机。

参数说明

该参数仅适用于源数据库DMDPC的MP和BP节点。仅配置部署在MP和BP节点上的源DMDRS服务时,需要配置该参数。

参数值

参数语法

<is_master></is_master>

参数示例

<is_master>1</is_master>

####### 3.2.14.2.1.5 raft_id

参数含义

需要连接的DMDRS服务的源数据库DMDPC的BP节点的RAFT_ID。

参数说明

该参数仅适用于源数据库DMDPC的MP节点。仅配置部署MP节点上的源DMDRS服务时,需要配置该参数。

参数值

参数语法

<raft_id></raft_id>

参数示例

<raft_id>1</raft_id>
3.2.14.3 dpc_type

参数含义

源数据库DMDPC的节点类型。

参数说明

  • 当配置部署在BP节点上的源DMDRS服务时,需要配置该参数。

  • 当配置部署在MP节点上的源DMDRS服务时,不需要配置该参数。

参数值

  • BP:部署源DMDRS服务的源数据库DMDPC为BP节点。

  • MP:部署源DMDRS服务的源数据库DMDPC为MP节点。默认值为MP。

参数语法

<dpc_type></dpc_type>

参数示例

<dpc_type>BP</dpc_type>

3.2.15 enable_check_date

参数含义

是否启用日期时间类型合法性的校验功能。

参数说明

该参数的原名为check_date。

  • 禁用日期时间类型合法性的校验功能。

    不校验源DMDRS发送的数据中日期时间值的合法性,直接发送。

  • 启用日期时间类型合法性的校验功能。

    校验源DMDRS发送的数据中日期时间值的合法性,如果日期时间值不合法,即小于1900-01-01 00:00:00或者大于9999-12-31 23:59:59,都会被替换为1900-01-01 00:00:00。

注意

当同步开启该参数后,如果需要进行添加同步表操作,对于存在非法时间值的表需要使用TIME掩码进行装载,否则可能会导致同步不一致。

参数值

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

  • 1:启用。

参数语法

<enable_check_date></enable_check_date>

参数示例

<enable_check_date>1</enable_check_date>

3.2.16 enable_col_def

参数含义

同步时是否带列默认值属性。

参数说明

该参数的原名为col_default。

由于不同数据库的列默认值表达式语法不尽相同,配置该参数可以忽略列默认值的同步。

参数值

  • 0:同步时不带列默认值属性。

  • 1:同步时带列默认值属性。默认值为1。

参数语法

<enable_col_def></enable_col_def>

参数示例

<enable_col_def>1</enable_col_def>

3.2.17 enable_iot

参数含义

是否启用索引组织表的装载与同步功能。

参数说明

该参数仅适用于Oracle数据库,开启后会进行额外的日志解析以支持索引组织表同步。

参数值

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

  • 1:启用。

参数语法

<enable_iot></enable_iot>

参数示例

<enable_iot>1</enable_iot>

3.2.18 enable_lob

参数含义

是否装载或同步大对象列数据。

参数说明

用于控制是否装载或同步大对象列数据(如BLOB/CLOB/LONG RAW/TEXT等),默认为装载或同步大对象列数据。当不需要装载或同步大对象列数据时,目标数据库大对象列插入NULL。该参数功能适用于装载和同步。

参数值

  • 0:不装载同步大对象列数据。

  • 1:装载或同步大对象列数据。默认值为1。

参数语法

<enable_lob></enable_lob>

参数示例

<enable_lob>0</enable_lob>

3.2.19 filter_seq_userid

参数含义

过滤序列值同步操作的数据库用户的用户ID。

参数说明

该参数用来过滤该用户下的所有序列值同步操作。

参数值

取值范围:0~2147483647,默认值为0。参数值为0时,表示不过滤该用户下的所有序列值同步操作。

参数语法

<filter_seq_userid></filter_seq_userid>

参数示例

<filter_seq_userid>0</filter_seq_userid>

3.2.20 has_group

参数含义

标识DMDRS是否配置在数据库备库上。

参数说明

该参数仅适用于DM8主备源数据库。如果将DMDRS部署在DM8备库上时,则需配置为1。

参数值

  • 0:源DMDRS未配置在数据库备库上。默认值为0。

  • 1:源DMDRS配置在数据库备库上。

参数语法

<has_group></has_group>

参数示例

<has_group>0</has_group>

3.2.21 heartbeat_interval

参数含义

源DMDRS心跳消息的发送间隔时间。

参数说明

原参数set_heartbeat和heartbeat_interval合并为heartbeat_interval参数。

用于控制同步空闲时是否发送心跳消息以及设置发送的频率。该功能适用于源DMDRS同步空闲时向Kafka发送心跳JSON的场景。

源DMDRS发送的心跳消息具体为表对象_DMDRS._DRS_HEARTBEAT下的虚拟DDL事务。若心跳消息的目标topic不为目标DMDRS默认分组的topic,则需要在目标DMDRS配置该表对象所属分组。

参数值

取值范围:0~2147483647。单位:秒。

  • 0:不发送心跳消息。默认值为0。

  • 1~2147483647:发送心跳消息的间隔时间。

参数语法

<heartbeat_interval></heartbeat_interval>

参数示例

<heartbeat_interval>15</heartbeat_interval>

3.2.22 load

参数含义

源DMDRS的数据装载功能。

参数说明

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

参数值

参数语法

<load></load>

参数示例

<load> <enable>1</enable> <clear_interval>168</clear_interval> </load>
3.2.22.1 clear_interval

参数含义

装载失败表清理的间隔时间。

参数说明

针对使用add table命令添加的同步表装载失败时,从表装载失败开始,如果超出该参数设置的间隔时间后,该表仍然未重装或者续装,DMDRS会自动停止该表的增量同步,删除源DMDRS保存的表字典,清理目标DMDRS相应检查点。

参数值

取值范围:1~65535,单位:小时,默认值为168。

参数语法

<clear_interval></clear_interval>

参数示例

<clear_interval>168</clear_interval>
3.2.22.2 enable

参数含义

是否启用装载功能。

参数说明

当源DMDRS结合DMDIS使用时,不需要使用装载模块,需禁用装载功能。

参数值

  • 0:禁用。

  • 1:启用。默认值为1。

参数语法

<enable></enable>

参数示例

<enable>1</enable>
3.2.22.3 login

参数含义

源主数据库的登录信息。

参数说明

该参数适用于Oracle DG、Kingbase V8(Oracle模式)主备和DM8主备数据库。

该参数为选配参数,适用于如下2种应用场景。

  • 适用于源数据库为Oracle DG,且源DMDRS部署在DG环境的备数据库的应用场景。在该应用场景下,3.1.5 login*中配置的是备数据库的登录信息。

    如果不配置该参数,DMDRS不会连接主数据库,但注意会有动态装载同步衔接数据不一致的风险。如果配置该参数,可以通过该参数配置的主数据库的登录信息连接到主数据库。

  • 适用于源数据库为Kingbase V8(Oracle模式)主备(2个节点),且DMDRS是主备的应用场景。在该应用场景下,该参数配置的是DMDRS对端节点的登录信息,3.1.5 login*中配置的是DMDRS本节点的登录信息。

  • 适用于源数据库为DM8主备,且CPT模块基本参数中3.1.5 login*子参数server配置为备库的IP地址时,可以通过该参数配置主库的登录信息。

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

参数值

参数语法

<login></login>

参数示例

<login> <dbtype>Oracle</dbtype> <server>192.168.60.2:1521/orcl</server> <user>DMDRS</user> <pwd>DMDRS</pwd> </login>
3.2.22.3.1 dbtype*

参数含义

源主数据库的类型。

参数说明

参数值

参数值不区分大小写。

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

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

  • DM8主备数据库:dm8。

参数语法

<dbtype></dbtype>

参数示例

<dbtype>Oracle</dbtype>
3.2.22.3.2 privilege_type

参数含义

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

参数说明

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

参数值

  • 0:DEFAULT。默认值为0。

  • 1:SYSDBA。

参数语法

<privilege_type></privilege_type>

参数示例

<privilege_type>0</privilege_type>
3.2.22.3.3 pwd*

参数含义

源主数据库的登录密码。

参数说明

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

参数值

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

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

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

参数语法

<pwd></pwd>

参数示例

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

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

    <pwd>FA58373ADC96F1E5</pwd>
3.2.22.3.4 server*

参数含义

源主数据库的服务名。

参数说明

参数值

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

    • IP地址:端口号/服务名。当主数据库为RAC集群时需要配置RAC环境的SCAN IP,如果仅配置单节点IP,该节点故障无法连接的情况下会导致装载失败。

    • 网络服务名。

  • Kingbase V8(Oracle模式)主备数据库:IP地址。

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

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

参数语法

<server></server>

参数示例

<server>192.168.60.2:1521/orcl</server>
3.2.22.3.5 user*

参数含义

源主数据库的用户名。

参数说明

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

参数值

配置为用户名。

参数语法

<user></user>

参数示例

<user>DMDRS</user>

3.2.23 log_from_db

参数含义

是否启用远程读日志。

参数说明

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

  • DM8:该参数仅适用于DM8(V8.1.4.189及以上版本)单机及主备。当源数据库为DM8时,支持以远程的方式读取另一主机上数据库的归档日志进行同步。当DM8数据库从不支持远程升级到支持远程,数据库需要重新初始化UTL_FILE系统包。

  • Oracle:该参数仅适用于Oracle 11.2.0.4及以上的11g版本数据库,不支持Oracle 12c及以上版本。启用该功能后可以通过OCI相关接口读取另一台主机上数据库日志进行同步,数据库需开启enable_goldengate_replication参数,且需要修改drsvr程序名为extract。

参数值

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

  • 1:启用。

参数语法

<log_from_db></log_from_db>

参数示例

<log_from_db>1</log_from_db>

3.2.24 log_limit

参数含义

日志文件占用存储空间上限。

参数说明

当日志文件大小超过该参数值时,删除最早的日志文件。

参数值

取值范围:512~4194304,单位:MB,默认值为4096。

参数语法

<log_limit></log_limit>

参数示例

<log_limit>4096</log_limit>

3.2.25 log_mask

参数含义

源DMDRS日志掩码。

参数说明

该参数仅适用于源数据库为DM7、DM8、PostgreSQL和Kingbase。源DMDRS日志掩码包括6种日志类型掩码。如果配置了一种或多种日志类型掩码,表示开启源DMDRS日志调试功能,源DMDRS将记录该类型的日志,用来在数据不一致时,分析源DMDRS解析的事务日志。在“模块名/LOG”目录下会生成对应站点号的日志文件。

参数值

  • 6种日志类型掩码以自由组合的方式进行配置,不同掩码之间以|作为分隔符。

    • READ:读取的日志信息。

    • DDL:解析的DDL信息。

    • UNPACK:日志解包信息。该掩码仅适用于DMDSC数据库。

    • SEND:发送到目标DMDRS的日志信息。

    • FILTER:在解析过程中的被过滤的日志信息。

    • LLOG:DMDRS主备的日志信息。该掩码仅当开启DMDRS主备功能时生效。

  • ALL:表示READ、DDL、UNPACK、SEND、FILTER和LLOG 6种日志类型掩码的总和。

  • NULL:关闭源DMDRS日志调试功能。默认值为NULL。

参数语法

<log_mask></log_mask>

参数示例

<log_mask>READ|SEND</log_mask>

3.2.26 n2c

参数含义

是否启用数字类型转换字符串功能。

参数说明

该参数仅针对DM6、DM7、DM8(单机、DMDSC、DMDPC)、DB2、MySQL/MariaDB和SQL Server数据库有效。

参数值

  • 0:禁用。表示保持数字类型。源数据库为DM6、DM7和DM8(单机、DMDSC、DMDPC)时,默认值为0。

  • 1:启用。表示数字类型转换为字符串。源数据库为DB2、MySQL/MariaDB和SQL Server时,默认值为1。

注意

当目标数据库为Doris时,该参数必须配置为1。

参数语法

<n2c></n2c>

参数示例

<n2c>1</n2c>

3.2.27 name_suffix

参数含义

是否启用索引及约束名称转换功能。

参数说明

启用索引及约束名称转换功能后会对源数据库的索引及约束名进行转换,约束包括唯一约束、主键约束、外键约束和CHECK约束。装载添加约束失败时,会自动按照name_suffix规则转换约束名称后重试一次。

  • 当源数据库为DM6、DM7、DM8、Oracle、PostgreSQL、DB2或者Kingbase时,转换后的名称格式为DRS+目标DMDRS的站点号+索引及约束名+表ID。

  • 当源数据库为MySQL/MariaDB时,转换后的名称格式为DRS+目标DMDRS的站点号+索引及约束名+表名。

参数值

  • 0:禁用。当源数据库为DM6、DM7、DM8、Oracle、PostgreSQL、DB2或者Kingbase时,默认值为0。

  • 1:启用。当源数据库为MySQL/MariaDB时,默认值为1。

参数语法

<name_suffix></name_suffix>

参数示例

<name_suffix>0</name_suffix>
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服