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

相关推荐
Tony小周6 分钟前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen25 分钟前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)1 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Elastic 中国社区官方博客1 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
Gauss松鼠会1 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb
守城小轩2 小时前
Chromium 136 编译指南 - Android 篇:开发工具安装(三)
android·数据库·redis
尽兴-2 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos
小小不董2 小时前
深入理解oracle ADG和RAC
linux·服务器·数据库·oracle·dba
胚芽鞘6813 小时前
查询依赖冲突工具maven Helper
java·数据库·maven
宇钶宇夕3 小时前
SIMATIC S7-1200的以太网通信能力:协议与资源详细解析
运维·服务器·数据库·程序人生·自动化