达梦数据库DMDRS搭建单向dm8-dm8数据同步

目录

概述

安装步骤

安装工具

配置

系统服务

安装完成

数据同步

准备数据

建表

生成测试数据

目的端操作

创建配置文件

启动drs服务

源端操作

创建配置文件

启动drs服务

初始化日志文件

装载数据

执行数据同步

验证数据同步情况


概述

达梦数据复制软件(DMDRS)是达梦数据库官方配套数据复制工具,完美支持达梦数据库和其他主流数据库之间的数据复制。DMDRS采用日志解析技术来捕获增量数据,不依赖主机上源数据库的触发器或者CDC功能,不会入侵到源库,对源数据库系统性能影响极小。

安装步骤

准备两台linux虚拟机(本次使用的是两台centos7虚拟机),在两台虚拟机同时安装达梦数据库和DMDRS软件

将安装包存放在一个dmdba具有权限的文件夹内,使用dmdba用户执行下面的命令进行安装

复制代码
./dmdrs_rev191718_x86_rh6_64_20250619.bin -i

安装工具

选择中文语言:c

选择安装目录(默认路径直接回车)

安装的组件:1 2(中间有个空格)

确认安装:y

安装许可证文件选择免费试用或指定许可证文件

配置

依赖库设置为达梦数据库安装目录的bin目录(本次设置为/home/dmdba/dmdbms/bin)

代理环境设置为本机IP地址

代理端口和管理平台端口默认回车即可

输入密码与确认密码

不使用外置库

系统服务

1、内置数据库

注册内置数据库系统服务,服务器发生重启后内置数据库自动重启。

2、达梦数据融合管理平台

注册内置数据库系统服务,服务器发生重启后达梦数据融合管理平台自动重启。

3、达梦数据融合管理平台代理服务

注册内置数据库系统服务,服务器发生重启后达梦数据融合管理平台代理自动重启。

4、注册服务

根据提示使用 root 用户执行脚本注册系统服务。

安装完成

数据同步

准备数据

建表

在源端SYSDBA模式下新建一张测试表,字段如下:

create table EMPLOYEES

(

EMPLOYEEID INT not null, //非空 主键,自增列

NATIONALNO VARCHAR(18) not null, //非空 身份证号码

PERSONID INT not null, //非空 指向 PERSON.PERSONID 的外键

LOGINID VARCHAR(256) not null, //非空 用户登录 ID

TITLE VARCHAR(50) not null,// 非空 职位

MANAGERID INT, //空

BIRTHDATE DATE not null, //非空 出生日期

MARITALSTATUS CHAR(1) not null,// 非空 S=未婚 M=已婚

PHOTO IMAGE,// 空 照片

HAIRDATE DATE not null, //非空 入职时间

SALARY DEC(19,4) not null

);

生成测试数据

利用sqlark工具生成1000条测试数据(本次操作由于没有截图,采用之前生成10000条数据的截图,内容是一样的)

目的端操作

创建配置文件

在dmdrs安装目录下创建exec.xml文件

复制代码
vim exec.xml

添加下面的内容

复制代码
<?xml version="1.0" encoding="GB18030"?>
<drs>
    <base>
        <mgr_port>5345</mgr_port>     
        <siteid>2</siteid>
    </base>
    <exec>
        <name>exec_dm8</name>
        <login>
            <dbtype>DM8</dbtype>
            <server>192.168.100.16</server>
            <user>DRS</user>
            <pwd>DRS123456</pwd>
            <port>5236</port>
        </login>        
    </exec>
</drs>

启动drs服务

在drs安装目录下bin路径执行下面的命令

复制代码
./drsvr exec.xml

源端操作

创建配置文件

在dmdrs安装目录下创建cpt.xml文件

复制代码
vim cpt.xml

添加下面的内容

复制代码
<?xml version="1.0" encoding="GB18030"?>
<drs>
    <base>
        <mgr_port>5347</mgr_port>
        <siteid>100</siteid>
    </base>
    <cpt>
        <name>cpt_dm8</name>
        <login>
            <dbtype>dm8</dbtype>
            <server>192.168.153.130</server>
            <user>SYSDBA</user>
            <pwd>DMwzy6870</pwd>
            <port>5236</port>
        </login>
        <send>
            <ip>192.168.153.131</ip>
            <port>5347</port>
            <target_name>exec_dm8</target_name>
            <map>
                <item>*.*==*.*</item>
            </map>
        </send>
    </cpt>
</drs>

启动drs服务

在drs安装目录下bin路径执行下面的命令

复制代码
./drsvr cpt.xml

初始化日志文件

在源端打开的CMD命令行中执行下面的命令

复制代码
alter cpt_dm8 set lsn

装载数据

在打开的CMD窗口执行下面的命令进行数据装载

复制代码
alter cpt_dm8 add table "sch.name='SYSDBA'"

源端显示情况:

目的端现实情况:

执行数据同步

装载结束后,在源端执行start命令进行数据同步

源端:

目的端:

验证数据同步情况

利用sqlark在源端生成100条新的数据,此时源端数据量为1100

此时查询目的端的数据量,查询数据量是否一致

目的端数据量也为1100,数据同步情况验证完成

达梦数据库社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台https://eco.dameng.com/

相关推荐
努力进修15 分钟前
KingbaseES赋能多院区医院信创转型:浙江省人民医院异构多活数据底座实践解析
数据库·kingbase
15Moonlight44 分钟前
06-MySQL基础查询
数据库·c++·mysql·1024程序员节
nzxzn1 小时前
MYSQL第三次作业
数据库·mysql
l1t1 小时前
在DuckDB中使用http(s)代理
数据库·网络协议·http·xlsx·1024程序员节·duckdb
十碗饭吃不饱2 小时前
RuoYi/ExcelUtil修改(导入excel表时,表中字段没有映射上数据库表字段)
数据库·windows·excel
李小白662 小时前
Redis常见指令
数据库·redis·缓存
雨奔3 小时前
Flask 学习路线图
数据库·学习·flask
TDengine (老段)3 小时前
从“事后抢险”到“事前防控”:江西水投用 TDengine 时序数据库重塑防汛模式
大数据·数据库·物联网·时序数据库·tdengine·涛思数据·1024程序员节
友友马4 小时前
『 QT 』QT控件属性全解析 (二)
开发语言·数据库·qt
像风一样!9 小时前
MySQL Galera Cluster部署如何实现负载均衡和高可用
数据库·mysql