达梦数据库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/

相关推荐
阿维的博客日记几秒前
Redis的旁路缓存策略和先删除缓存后更新数据库,先更新数据库后删除缓存,这三种策略之间有什么关系??
数据库·redis·缓存
ictI CABL16 分钟前
redis连接服务
数据库·redis·bootstrap
苍煜24 分钟前
SpringBoot单体应用到分布式下的数据库锁、事务、Redis事务、分布式锁、分布式事务协调
数据库·spring boot·分布式
xmjd msup1 小时前
mysql的分区表
数据库·mysql
Lyyaoo.1 小时前
【JAVA Spring面经】Spring 事务失效情况
java·数据库·spring
MeAT ITEM1 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dovens1 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
IOT.FIVE.NO.11 小时前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
Rick19931 小时前
mysql 慢查询怎么快速定位
android·数据库·mysql
科技小花8 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化