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>
介绍CPT模块的基本信息配置参数。
参数含义
手动或自动启动CPT模块。
参数说明
手动启动CPT模块
源DMDRS服务启动后,CPT模块需手动启动。
自动启动CPT模块
源DMDRS服务初次启动后,CPT模块需手动启动。
源DMDRS服务重新启动后,CPT模块状态为服务重启前的状态。如果重启前模块为启动状态,重启后模块仍为启动状态;如果重启前模块为关闭状态,重启后模块仍为关闭状态。
参数值
0:手动启动CPT模块。
1:自动启动CPT模块。默认值为1。
参数语法
<auto_run></auto_run>
参数示例
<auto_run>0</auto_run>
参数含义
源DMDRS检查点的执行间隔时间。
参数说明
当源DMDRS重启时,会从上一次运行的最后一个检查点开始读取日志文件。可适当减小此参数值以减少源DMDRS重启后重新读取归档所消耗的时间。
参数值
取值范围:1~65535,单位:秒,默认值为30。
参数语法
<ckpt_interval></ckpt_interval>
参数示例
<ckpt_interval>30</ckpt_interval>
参数含义
离线字典的目录。
参数说明
此路径指保存在本地的字典、约束、DDL和事务的总路径。
当源DMDRS配置为离线日志解析时,该参数配置为离线日志解析中字典文件的存储路径。
参数值
默认值为程序的当前工作目录。
参数语法
<dict_dir></dict_dir>
参数示例
<dict_dir>/home/dmdrs/dmdrs5/bin</dict_dir>
参数含义
日志读取的空闲时间。
参数说明
当CPT分析在线日志时,如果在线日志刷新较慢,则会出现赶超在线的情况,此时CPT需要睡眠一段时间。该参数就是用来指定CPT的睡眠时间,单位为ms。该参数如果配置太小,会造成IO负担;如果配置得太大,则会造成同步延迟大,需要根据实际的需求配置一个合理的值。
参数值
取值范围:0~65534,单位:ms,默认值为300。
参数语法
<idle_time></idle_time>
参数示例
<idle_time>100</idle_time>
参数含义
源数据库的登录信息。
参数说明
该参数是一个功能标签,需要配置它的子项。
参数值
无
参数语法
<login></login>
参数示例
<login>
<dbtype>dm8</dbtype>
<server>192.168.60.2</server>
<user>DMDRS</user>
<pwd>DMDRS</pwd>
<port>5236</port>
</login>
参数含义
源数据库的库名。
参数说明
DM7、DM8(单机、DMDSC、DMDPC、MPP)、DM8主备、DMDSC主备和Oracle数据库:不需要配置该参数。
DM6单机、DB2、MySQL/MariaDB、SQL Server、PostgreSQL和Kingbase数据库:必须配置该参数,指定数据库名称。
参数值
源数据库的库名。
参数语法
<dbname></dbname>
参数示例
源数据库MySQL的库名为RESOURCES。
<dbname>RESOURCES</dbname>
参数含义
源数据库的类型。
参数说明
源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>
参数含义
源数据库的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>
参数含义
本地数据库实例的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>
参数含义
Oracle XStream同步时连接Oracle源数据库出站服务器的名称。
参数说明
该参数仅适用源端Oracle XStream同步,用于通过该名称连接Oracle数据库的Xstream Out组件。启用该参数功能,同时需要在cpt_mask里面配置远程读掩码net_read。
参数值
Oracle源数据库出站服务器的名称。
参数语法
<outbound_name></outbound_name>
参数示例
<outbound_name>xout</outbound_name>
参数含义
源数据库的监听端口号。
参数说明
说明在DM8(单机、主备、DMDSC、DMDSC主备)数据库上搭建源DMDRS主备的情况下,该参数为必配参数,该参数值为本地数据库实例的端口号。
Oracle数据库可以在服务名中指定端口号,无需配置端口号。
DM8主备数据库的服务名中已包含IP地址和端口号,无需配置端口号。
DMDSC数据库的服务名中已包含IP地址和端口号,无需配置端口号。
DMDSC主备数据库的服务名中已包含IP地址和端口号,无需配置端口号。
DMDPC数据库SP节点的端口号。
MPP数据库当前EP节点的端口号。
SQL Server数据库需要在服务名中指定端口号,无需配置端口号。
其他类型数据库为必配参数。
参数值
取值范围:1000~65535。
参数语法
<port></port>
参数示例
<port>5236</port>
参数含义
连接数据库时使用的系统权限。
参数说明
当源数据库为Oracle时,连接数据库时使用的系统权限。
参数值
0:DEFAULT。默认值为0。
1:SYSDBA。
参数语法
<privilege_type></privilege_type>
参数示例
<privilege_type>0</privilege_type>
参数含义
源数据库的登录密码。
参数说明
源数据库的登录密码支持配置为明文和密文。
参数值
源数据库登录用户对应的登录密码。
当不配置enable_pwd_encipher参数或者配置为0时,登录密码需配置为明文密码。
当enable_pwd_encipher参数配置为1时,登录密码需配置为明文密码加密后的密文密码,通过drcsl -encrypt "<pwd>"命令获取密文密码。
参数语法
<pwd></pwd>
参数示例
配置登录密码为明文密码。
<pwd>DMDRS</pwd>
配置登录密码为密文密码。
<pwd>FA58373ADC96F1E5</pwd>
参数含义
源数据库的服务名或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>
参数含义
连接源数据库时使用的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>
参数含义
连接源数据库时使用的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>
参数含义
源数据库的登录用户名。
参数说明
数据库同步用户需要一定的权限访问数据库数据,同步用户最小权限请参见各数据库的DMDRS搭建手册。
参数值
源数据库的登录用户名。
参数语法
<user></user>
参数示例
<user>DMDRS</user>
参数含义
CPT模块所有数据文件(除临时生成的文件)的存储目录。
参数说明
当该参数与dict_dir参数同时配置,且路径不同时,优先按dict_dir参数指定的路径保存相应文件,模块的其它数据文件仍按该参数指定的位置存储。
参数值
默认值为程序的当前工作目录。
参数语法
<module_dir></module_dir>
参数示例
<module_dir>/home/dmdrs/dmdrs5/bin</module_dir>
参数含义
CPT模块的名称。
参数说明
当一个源DMDRS服务配置多个CPT模块时,名称将作为每个CPT模块的唯一标识,配置时请确保它的唯一性。
参数值
名称仅由字母、数字或下划线组成,不能以数字开头,英文名称不区分大小写。名称长度不超过63个字符。名称不能配置为DMDRS软件的关键字(CPT除外),关键字请参见关键字章节。
当源数据库为DMDPC时,若需要配置DMDRS主备,需要保证部署在同一个RAFT组中BP节点或者MP节点的DMDRS服务的name参数值不同。
参数语法
<name></name>
参数示例
<name>cpt_dm8</name>
参数含义
CPT模块运行时预留的存储空间大小。
参数说明
该参数仅适用于DM7/DM8源数据库。仅当磁盘剩余空间小于resvd_size参数值时,不再写开启log_mask掩码后的调试日志文件。
参数值
取值范围:0~2147483647,单位:GB,默认值为10。0表示不限制。根据磁盘实际空间大小设置。
参数语法
<resvd_size></resvd_size>
参数示例
<resvd_size>10</resvd_size>
参数含义
源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>
参数含义
消息加密算法。
参数说明
CPT模块发送消息到下一级时,是否需要对发送的消息进行加密。如果启用消息加密,则需要配置消息加密算法名称。如果不配置该参数,则不启用消息加密。
注意加密算法配置后,如需修改加密算法,需初始化环境。
参数值
消息加密算法的名称包括DES_ECB、DES_CBC、DES_CFB、DES_OFB、AES256_ECB、AES256_CBC、AES256_CFB和AES256_OFB。
参数语法
<cipher></cipher>
参数示例
<cipher>DES_ECB</cipher>
参数含义
是否启用消息压缩。
参数说明
该参数的原名为compress。
CPT模块发送消息到下一级时,是否需要对发送的消息进行压缩。如果启用消息压缩,会消耗额外的CPU,但是会降低网络带宽的占用,请根据实际情况配置。
参数值
0:禁用。默认值为0。
1:启用。
参数语法
<enable_compress></enable_compress>
参数示例
<enable_compress>1</enable_compress>
参数含义
是否启用数据包校验。
参数说明
该参数的原名为crc_check。
当启用数据包校验时,CPT模块会设置投递消息的CRC校验值,下一级根据该值对接收到的数据包进行正确性的校验,从而提升数据的可靠性。开启该功能会消耗额外的CPU,请根据实际情况配置。
参数值
0:禁用。默认值为0。
1:启用。
参数语法
<enable_crc_check></enable_crc_check>
参数示例
<enable_crc_check>0</enable_crc_check>
参数含义
是否启用网闸模式。
参数说明
该参数的原名为net_turns。
如果CPT模块与下一级模块间有网闸设备,为使模块间正常交互,需启用网闸模式。
参数值
0:禁用。默认值为0。
1:启用。
参数语法
<enable_net_turns></enable_net_turns>
参数示例
<enable_net_turns>0</enable_net_turns>
参数含义
下一级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>
参数含义
当前map标签中的映射规则名称是否大小写敏感。
参数说明
用于配置map标签中的映射规则名称大小写是否敏感,将根据大小写敏感配置进行映射规则匹配。
参数值
0:大小写敏感。默认值为0。
1:大小写不敏感。
参数语法
<map_case_sensitive></map_case_sensitive>
参数示例
<map_case_sensitive>1</map_case_sensitive>
参数含义
配置源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>
参数含义
源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>
参数含义
配置源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>
参数含义
数据同步时源DMDRS向目标DMDRS每秒发送的最大字节数。
参数说明
该参数能够限定数据同步时发送数据占用的带宽,防止过多地占用带宽而影响其他业务的正常运行。
参数值
取值范围:32~4194303, 单位:KB,默认值为最大值4194303,表示无上限。
参数语法
<max_speed></max_speed>
参数示例
<max_speed>4194303</max_speed>
参数含义
网闸模式下是否启用额外冗余发送包功能。
参数说明
针对部分网闸新增的限制:要求发送包必须大于等于回执包数量。配置该功能后,源DMDRS会额外的发送冗余包且不回执。开启该参数功能需要优先开启网闸功能(即enable_net_turns配置为1)。
参数值
0:禁用。默认值为0。
1:启用。
参数语法
<net_turns_opt></net_turns_opt>
参数示例
<net_turns_opt>1</net_turns_opt>
参数含义
发送消息的应用层封包大小。
参数说明
发送消息时,会将多条消息打包一次发送。适当增加该参数值,会减少交互次数。设置过大,则可能会浪费内存资源。
参数值
取值范围:64 ~8192,单位:KB,默认值为1000。
参数语法
<package_size></package_size>
参数示例
<package_size>1000</package_size>
参数含义
下一级DMDRS服务的Manager模块的端口号。
参数说明
DMDSS服务或目标DMDRS服务的Manager模块的端口号。
参数值
取值范围:1000~65535。
参数语法
<port></port>
参数示例
<port>17345</port>
参数含义
下一级DMDRS服务的IP地址、Manager模块的端口号与接收模块名称的集合。
参数说明
DMDSS服务或目标DMDRS服务的IP地址、Manager模块的端口号与接收模块的名称。
下一级为DSS主备集群。
当源DMDRS处于网闸模式时,必须使用server参数来配置多个DSS节点。
当源DMDRS不处于网闸模式时,可以配置server参数,且server参数中仅需配置DSS主备集群中任意一个在线的DSS节点,或者单独配置3.1.9.5 ip、3.1.9.11 port和3.1.9.14 target_name章节参数,两种配置方法选择其中一种即可,当同时配置时,仅server参数生效。
下一级为EXEC主备集群。
当源DMDRS处于网闸模式时,必须使用server参数来配置多个EXEC节点。
当源DMDRS不处于网闸模式时,可以配置server参数,且server参数仅需要配置EXEC主备集群中的主节点,或者单独配置主节点的3.1.9.5 ip、3.1.9.11 port和3.1.9.14 target_name参数,两种配置方法选择其中一种即可,当同时配置时,仅server参数生效。当前EXEC主备只支持一主一备两个节点。
下一级不为DSS主备和EXEC主备集群。
当源DMDRS处于网闸模式或者不处于网闸模式时,都可以配置server参数或者单独配置3.1.9.5 ip、3.1.9.11 port和3.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>
参数含义
源DMDRS服务的备用发送地址。
参数说明
主地址无法连接时自动尝试连接备用地址发送,最多支持4个备用地址。
参数值
无
参数语法
<standby></standby>
参数示例
<standby>
<item>
<ip>192.168.60.1</ip>
<port>17345</port>
</item>
</standby>
参数含义
配置备用发送地址信息。
参数说明
该参数的配置数量与备用发送地址的个数相同。该参数是一个功能标签,需要配置它的子项。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>
参数含义
下一级DMDRS服务的接收模块的名称。
参数说明
DMDSS服务或目标DMDRS服务中DSS模块或EXEC模块的名称。
参数值
下一级接收模块的名称。
参数语法
<target_name></target_name>
参数示例
<target_name>dss_active</target_name>
参数含义
发送消息和接收消息的超时时间。
参数说明
投递或接收下一级回执消息时的超时时间,如果达到该时间未能收到回执或是发送失败,则断开重连。
参数值
取值范围:0~6000,单位:s,默认值为600。
参数语法
<timeout></timeout>
参数示例
<timeout>600</timeout>
参数含义
当前CPT模块的主题。
参数说明
每个CPT模块对应一个Topic,用户可通过订阅不同的Topic来获取所需要的信息。
参数值
CPT模块对应的主题名,默认为CPT模块的名称。
参数语法
<topic></topic>
参数示例
<topic>cpt_dm8</topic>
参数含义
CPT模块的站点号。
参数说明
此参数仅适用于源DMDRS服务下包含多个CPT模块的使用场景,需要单独配置各个CPT模块的站点号。
此参数为CPT模块在数据传输链路中的唯一标识,配置时请确保唯一性,如果重复,会造成链路中数据复制的混乱。
参数值
取值范围:1~30000。
参数语法
<siteid></siteid>
参数示例
<siteid>1</siteid>
文章
阅读量
获赞
