本文用于介绍在Linux环境下,在数据同步时通过搭建DRS主备向用户提供高可用的DRS数据实时复制服务。
达梦数据实时同步软件(以下简称 DMDRS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。
数据迁移场景中已部署两个数据库,包括数据库DM8(192.168.10.101)和数据库DM8(192.168.10.106)。
设置dm8 DMDRS服务的运行用户对服务所在目录及子目录的读、写和执行权限。
groupadd -g 66000 dinstall
useradd -u 66000 -g dinstall -m -d /home/dmdrs -s /bin/bash dmdrs
将安装包放至两端,按照提示启动安装命令并完成drs同步软件安装。
./dmdrs_rev166696_x86_rh6_64_20240808.bin -i
alter database mount;
alter database add archivelog 'DEST=/dm/arch,TYPE=LOCAL,FILE_SIZE=512,SPACE_LIMIT=1024';
alter database archivelog;
alter database open;
call sp_set_para_value(1,'RLOG_APPEND_LOGIC',1);
配置.bash_profile环境变量。
$ vi ~/.bash_profile
在.bash_profile配置文件末尾增加驱动路径。
dm8 DMDRS服务器环境变量中添加DMDPI驱动路径。
export LD_LIBRARY_PATH=<DMDPI驱动路径>:$LD_LIBRARY_PATH
保存并退出vi编辑器,使环境变量生效。
$ source ~/.bash_profile
查看环境变量是否设置成功。
$ echo $LD_LIBRARY_PATH
创建dm8数据库用于DRS的同步用户,并为数据库同步用户配置权限。
DM8源端:
create user "DMDRS" identified by "DMDRS";
grant "DBA","PUBLIC" to "DMDRS";
源端最小权限如下:
GRANT PUBLIC,SOI,VTI,CREATE SESSION,SELECT ON <待装载表/序列的模式名>.<待装载表/序列的表名>,GRANT SELECT ON SYSDBA.DRS_$DDL_LOG TO DMDRS;
目标端最小权限如下:
GRANT PUBLIC,RESOURCE,SOI,VTI, CREATE SESSION ,INSERT,DELETE,SELECT, INSERT ANY TABLE,UPDATE ANY TABLE,DELETE ANY TABLE,SELECT ANY TABLE ,SELECT ANY SEQUENCE,COMMENT ANY TABLE,ANY <对象类型>,ALTER ANY <对象类型>,DROP ANY <对象类型>,CREATE <对象类型>,ALTER <对象类型>,DROP <对象类型> TO DMDRS;
<mgr_port>Manager管理模块的端口号
<target_name>备节点的CPT模块的名称
<max_speed>数据同步时源DMDRS向目标DMDRS发送数据时的限速。
<io_threads>日志读取线程个数。
<send_queue>日志发送队列的大小。
<log_buf_size>读取日志缓冲区大小。
<mgr_port>Manager管理模块的端口号</mgr_port>
<target_name>备节点的EXEC模块的名称
<mem_size>服务程序运行时可以申请的最大内存。
在dm8 DMDRS主节点服务的配置文件目录,打开并修改cpt1.xml配置文件,修改后配置文件如下所示。
在dm8 DMDRS备节点服务的配置文件目录,打开并修改cpt1.xml配置文件,修改后配置文件如下所示。
在dm8 DMDRS主节点服务的配置文件目录,打开并修改cpt1.xml配置文件,修改后配置文件如下所示。
将服务脚本模板TemplateService拷贝到服务脚本目录并修改服务脚本的名称为DrsService。
启动mysql DMDRS服务。
$ ./DrsService start
将服务脚本模板TemplateService拷贝到服务脚本目录并修改服务脚本的名称为DrsService。
启动DMDRS服务。
$ ./DrsService start
使用服务脚本启动服务后,需要使用远程控制台对服务中的CPT模块执行数据迁移命令。
启动控制台。
$ ./drcsl cpt1.xml
$ ./drcsl cpt2.xml
连接DMDRS主备服务。
CSL> connect
设置数据库当前最新的日志LSN作为日志解析的起始位置(也可手动指定lsn)。
CSL> alter cpt1 set lsn
CSL> alter cpt2 set lsn
启动DMDRS主服务中的CPT模块。
CSL> start
将源端达梦数据库中RESOURCES模式添加至同步列表,并在同步之前把目标表的全量数据装载,随后DRS自动进行增量同步。
CSL> alter cpt2 add table "sch.name='PERSON'";
查看主备状态
关闭主同步服务,观察到主备切换,则主备DRS集群配置成功
文章
阅读量
获赞