注册
达梦DRS主备数据同步实战
专栏/培训园地/ 文章详情 /

达梦DRS主备数据同步实战

zhn 2025/01/14 317 0 0
摘要

达梦DRS主备数据同步实战

本文用于介绍在Linux环境下,在数据同步时通过搭建DRS主备向用户提供高可用的DRS数据实时复制服务。
达梦数据实时同步软件(以下简称 DMDRS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。

一、DMDRS安装(命令行)

1.1 场景规划

数据迁移场景中已部署两个数据库,包括数据库DM8(192.168.10.101)和数据库DM8(192.168.10.106)。

1.2 配置用户

设置dm8 DMDRS服务的运行用户对服务所在目录及子目录的读、写和执行权限。
groupadd -g 66000 dinstall
useradd -u 66000 -g dinstall -m -d /home/dmdrs -s /bin/bash dmdrs

1.3安装DMDRS

将安装包放至两端,按照提示启动安装命令并完成drs同步软件安装。
./dmdrs_rev166696_x86_rh6_64_20240808.bin -i
image.png

二、数据库准备工作

2.1开启数据库归档日志及逻辑日志

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);
image.png

2.2设置环境变量

配置.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

2.3 创建数据库同步用户和配置用户权限

创建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;

三、同步配置参数介绍

3.1 cpt文件配置

<mgr_port>Manager管理模块的端口号
站点号
CPT模块的名称
源数据库的类型
源数据库的服务名或IP地址
源数据库的库名
源数据库的用户名
源数据库的登录密码
源数据库的监听端口号
下一级DMDRS服务的IP地址
下一级DMDRS服务的Manager管理模块的端口号
配置主机模式
备节点的IP地址
备节点的Manager管理模块的端口号
<target_name>备节点的CPT模块的名称
<max_speed>数据同步时源DMDRS向目标DMDRS发送数据时的限速。
装载读取源数据库数据的线程数。
<io_threads>日志读取线程个数。
<send_queue>日志发送队列的大小。
<log_buf_size>读取日志缓冲区大小。

3.2 exec文件配置

<mgr_port>Manager管理模块的端口号</mgr_port>
站点号
EXEC模块的名称
目标数据库的类型
目标数据库的服务名或IP地址
目标数据库的库名
目标数据库的登录名或用户名
目标数据库的登录密码
配置主机模式
备节点的IP地址
备节点的Manager管理模块的端口号
<target_name>备节点的EXEC模块的名称
目标数据库的监听端口号
<mem_size>服务程序运行时可以申请的最大内存。

四、配置dm8数据迁移

4.1 配置源端主节点DMDRS服务

在dm8 DMDRS主节点服务的配置文件目录,打开并修改cpt1.xml配置文件,修改后配置文件如下所示。
image.png

4.2 配置源端备节点 DMDRS服务

在dm8 DMDRS备节点服务的配置文件目录,打开并修改cpt1.xml配置文件,修改后配置文件如下所示。
image.png

4.3 配置目标端节点 DMDRS服务

在dm8 DMDRS主节点服务的配置文件目录,打开并修改cpt1.xml配置文件,修改后配置文件如下所示。
image.png

4.4 启动源端主备节点 DMDRS服务

将服务脚本模板TemplateService拷贝到服务脚本目录并修改服务脚本的名称为DrsService。
image.png
启动mysql DMDRS服务。
$ ./DrsService start
image.png

4.5 启动目标端节点 DMDRS服务

将服务脚本模板TemplateService拷贝到服务脚本目录并修改服务脚本的名称为DrsService。
image.png
启动DMDRS服务。
$ ./DrsService start
image.png

4.6 在DMDRS服务中执行数据复制命令

使用服务脚本启动服务后,需要使用远程控制台对服务中的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
image.png
将源端达梦数据库中RESOURCES模式添加至同步列表,并在同步之前把目标表的全量数据装载,随后DRS自动进行增量同步。
CSL> alter cpt2 add table "sch.name='PERSON'";
image.png
查看主备状态
image.png
关闭主同步服务,观察到主备切换,则主备DRS集群配置成功
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服