EXEC模块是目标DMDRS服务的核心组成模块,主要功能为接收源DMDRS或者DMDSS服务发送的迁移数据或者同步数据,在目标数据库进行同步执行,实现数据实时同步。在目标DMDRS服务的XML配置文件中,EXEC模块参数对应<exec></exec>元素,包括EXEC模块的名称、目标数据库登录信息和分组执行功能等参数。
<exec>
<name>exec_name</name>
<login>
<dbtype>dm8</dbtype>
<server>127.0.0.1</server>
<user>DMDRS</user>
<pwd>DMDRS</pwd>
<port>5236</port>
</login>
</exec>
介绍EXEC模块的基本参数。
参数含义
手动或自动启动EXEC模块。
参数说明
手动启动EXEC模块
目标DMDRS服务启动后,EXEC模块需手动启动。
自动启动EXEC模块
目标DMDRS服务启动后,EXEC模块将自动启动。
参数值
0:手动启动EXEC模块。
1:自动启动EXEC模块。默认值为1。
参数语法
<auto_run></auto_run>
参数示例
<auto_run>1</auto_run>
参数含义
目标DMDRS检查点的执行间隔时间。
参数说明
当上一级DMDRS投递的数据量较大时,可适当减小此参数值以防止内存空间不足导致的消息接收阻塞。
参数值
取值范围:1~65535,单位:秒,默认值为180。
参数语法
<ckpt_interval></ckpt_interval>
参数示例
<ckpt_interval>60</ckpt_interval>
参数含义
各站点的错误日志文件占用存储空间上限。
参数说明
该参数的原名为error_limit。
EXEC模块定期检查各站点的错误日志文件总大小,超过该参数值时,删除最旧的一个错误日志文件。
参数值
取值范围:2~512,单位:GB,默认值为20。
参数语法
<error_log_limit></error_log_limit>
参数示例
<error_log_limit>20</error_log_limit>
参数含义
目标数据库的登录信息。
参数说明
该参数是一个功能标签,需要配置它的子项。
参数值
无
参数语法
<login></login>
参数示例
<login>
<dbtype>dm8</dbtype>
<server>192.168.60.1</server>
<user>DMDRS</user>
<pwd>DMDRS</pwd>
<port>5236</port>
</login>
参数含义
目标数据库的库名。
参数说明
DM7、DM8(单机、DMDSC、DMDPC)、DM8主备、DMDSC主备、Oracle和Kafka数据库:不需要配置该参数。
DM6单机、DB2、MySQL/MariaDB、SQL Server、PostgreSQL、Kingbase V8(Oracle模式)、GBase 8s、openGauss 7.0.0-RC1和Doris 4.0及以上版本数据库:必须配置该参数,指定数据库名称。
参数值
目标数据库的库名。
参数语法
<dbname></dbname>
参数示例
目标数据库MySQL的库名为RESOURCES。
<dbname>RESOURCES</dbname>
参数含义
目标数据库的类型。
参数说明
目标DMDRS服务支持的数据库包括DM6单机、DM7、DM8(单机、DMDSC、DMDPC)、DM8主备、DMDSC主备、Oracle10g及以上版本(单机、RAC)、SQL Server 2008 R2/2016/2019版本、DB2 9.7/10.5/11.5、MySQL/MariaDB 5.6/5.7/8、Kafka 0.8.2及以上版本、PostgreSQL 9.6/11/12版本、Kingbase V8(Oracle模式)版本、GBase 8s V8版本、openGauss 7.0.0-RC1和Doris 4.0及以上版本数据库。
参数值
参数值不区分大小写。
DM6单机数据库:dm6。
DM7数据库:dm7。
DM8单机数据库:dm8。
DM8主备数据库:dm8。
DMDSC数据库:dm8或dsc。
DMDSC主备数据库:dm8或dsc。
DMDPC数据库:当目标DMDRS服务仅有一个节点时,配置为dm8;当目标DMDRS服务为多节点集群时,配置为dpc。
Oracle数据库(单机、RAC):Oracle。
SQL Server数据库:SQL Server。
DB2数据库:DB2。
MySQL/MariaDB数据库:MySQL。
Kafka数据库:Kafka。
PostgreSQL数据库:postgres。
Kingbase V8(Oracle模式)数据库:kdb。
GBase 8s数据库:gbase8s。
openGauss 7.0.0-RC1数据库:openGauss。
Doris数据库:doris。
参数语法
<dbtype></dbtype>
参数示例
<dbtype>dm8</dbtype>
参数含义
目标数据库的ODBC驱动名。
参数说明
该参数仅适用于DM6、SQL Server、PostgreSQL、Kingbase V8(Oracle模式)、GBase 8s和openGauss数据库。当目标数据库为DM6、SQL Server、PostgreSQL、Kingbase V8(Oracle模式)、GBase 8s或openGauss数据库时,需使用ODBC驱动和目标数据库进行连接。如果不使用默认驱动,需要使用其他版本的ODBC驱动,请使用该参数配置。
注意
- 请确保目标DMDRS服务器上已安装数据库的驱动,且驱动版本与数据库版本相匹配。
- GBase 8s配置DSN文件时需要使用多线程驱动文件,文件名为iclit09b.so。
参数值
采用驱动方式配置,参数值为驱动名。
DM6数据库:DM ODBC DRIVER。
SQL Server数据库:默认值为{SQL Server Native Client 10.0}。
PostgreSQL数据库:默认值为PostgreSQL ANSI(x64)。
Kingbase V8(Oracle模式)数据库:默认值为KingbaseES 8 ODBC Driver。
GBase 8s数据库:默认值为GBase ODBC DRIVER(64-bit)。
openGauss 7.0.0-RC1数据库:默认值为Gauss。
采用驱动的数据源方式配置,参数值格式为DSN=<数据源名>。
说明如果该参数采用驱动的数据源方式配置,则不需要在DMDRS配置文件中配置server、dbname和port参数。
参数语法
<driver></driver>
参数示例
采用驱动方式配置,以驱动名为SQL Server Native Client 11.0为例。
<driver>{SQL Server Native Client 11.0}</driver>
采用驱动的数据源方式配置,以数据源名为gbase为例。
<driver>DSN=gbase</driver>
参数含义
目标数据库的STREAM LOAD端口号。
参数说明
该参数仅适用于Doris数据库。当目标数据库为Doris时,必须配置该参数。
对于Doris数据库,目标DMDRS使用STREAM LOAD方式导入数据,该参数用于指定Doris数据库的STREAM LOAD端口号。
参数值
Doris数据库的STREAM LOAD端口号。
参数语法
<load_port></load_port>
参数示例
<load_port>8030</load_port>
参数含义
目标数据库的监听端口号。
参数说明
Oracle数据库可以在服务名中指定端口号,无需配置端口号。
DM8主备数据库的服务名中已包含IP地址和端口号,无需配置端口号。
DMDSC数据库的服务名中已包含IP地址和端口号,无需配置端口号。
DMDSC主备数据库的服务名中已包含IP地址和端口号,无需配置端口号。
DMDPC数据库SP节点的端口号。
Kafka数据库可以在Kafka生产者属性文件中指定IP地址和端口号,无需配置端口号。
SQL Server数据库需要在服务名中指定端口号,无需配置端口号。
其他类型数据库为必配参数。
参数值
取值范围:1000~65535。
参数语法
<port></port>
参数示例
<port>5236</port>
参数含义
Kafka生产者属性文件路径。
参数说明
该参数仅适用于Kafka目标数据库。当目标数据库为Kafka时,该参数为必配参数。
当搭配schema registry服务时,需要在该文件中配置schema.registry.url参数。
参数值
无
参数语法
<producer_properties></producer_properties>
参数示例
<producer_properties>/home/dmdrs/dmdrs5/bin/producer.properties</producer_properties>
参数含义
目标数据库的登录密码。
参数说明
目标数据库的登录密码支持配置为明文和密文。
该参数不适用于Kafka数据库。
参数值
目标数据库登录用户对应的登录密码。
当不配置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。
说明目标DMDRS为主备时,主节点和备节点都需要配置为服务名。
参数值
DM6单机、DM7、DM8单机、DB2、MySQL/MariaDB、PostgreSQL、Kingbase V8(Oracle模式)、openGauss 7.0.0-RC1和Doris数据库:配置为实际的IP地址。
DM8主备数据库:服务名。服务名请参见数据库的dm_svc.conf配置文件。
DMDSC数据库:服务名。服务名请参见数据库的dm_svc.conf配置文件。
DMDSC主备数据库:主备集群的服务名(包含DMDSC主机和备机所有节点)。服务名请参见数据库的dm_svc.conf配置文件。
DMDPC数据库:SP节点的IP地址。
SQL Server数据库:
IP地址,端口号。
IP地址:端口号。
Oracle数据库:
IP地址:端口号/服务名。
网络服务名。
Kafka数据库:不需要配置该参数。
GBase 8s数据库:IP地址/服务名。
参数语法
<server></server>
参数示例
目标数据库为DM8单机数据库。
以IPv4为例。
<server>192.168.60.1</server>
以IPv6为例。
<server>[fe80::1f3:99be:7b6a:890d%eno3]</server>
目标数据库为DMDSC数据库。
<server>DM8DSC</server>
目标数据库为Oracle数据库。
<server>192.168.60.1:1521/orcl</server>
目标数据库为SQL Server数据库,端口号为1433。
<server>192.168.60.1,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搭建手册。
该参数不适用于Kafka数据库。
参数值
目标数据库的登录用户名。
参数语法
<user></user>
参数示例
<user>DMDRS</user>
参数含义
EXEC模块所有数据文件(除临时生成的文件)的存储目录。
参数说明
无
参数值
默认值为程序的当前工作目录。
参数语法
<module_dir></module_dir>
参数示例
<module_dir>/home/dmdrs/dmdrs5/bin</module_dir>
参数含义
EXEC模块的名称。
参数说明
当一个目标DMDRS服务配置多个EXEC模块时,名称将作为每个EXEC模块的唯一标识,配置时请确保它的唯一性。
参数值
名称仅由字母、数字或下划线组成,不能以数字开头,英文名称不区分大小写。名称长度不超过63个字符。名称不能配置为DMDRS软件的关键字(EXEC除外),关键字请参见关键字章节。
参数语法
<name></name>
参数示例
<name>exec_dm8</name>
参数含义
网闸模式下接收消息的超时时间。
参数说明
当源DMDRS参数enable_net_turns配置为1时,该参数才会生效。
参数值
取值范围:10~6000,单位:s,默认值为60。
参数语法
<recv_timeout></recv_timeout>
参数示例
<recv_timeout>60</recv_timeout>
参数含义
EXEC模块检查点运行时预留的存储空间大小。
参数说明
无
参数值
取值范围:0~2147483647,单位:GB,默认值为10。0表示不限制。根据磁盘实际空间大小设置。
参数语法
<resvd_size></resvd_size>
参数示例
<resvd_size>10</resvd_size>
文章
阅读量
获赞
