达梦数据复制软件(简称 DMDRS )是一种用于同构数据库、异构数据库以及各种数据管理系统之间的数据复制软件。DMDRS 采用模块化的设计,通过灵活配置不同的功能模块,实现多功能的数据复制服务,以满足多种场景下的数据复制业务需求。
基于数据复制业务的应用场景,DMDRS 提供数据迁移、数据同步、数据分发和数据转换等功能,而且数据同步功能还支持一对一、双向、一对多、多对一、级联同步、环形同步和 DMDRS 主备等多种同步拓扑结构。
01.硬件环境
内存至少为8G,磁盘至少50G空间。
02.软件环境
本次实验采用的源端和目标端系统均为Kylinv10 sp3,数据库版本为DM8。
为避免 DMDRS 在访问数据库文件时权限不足、环境变量错误等问题,建议源端与目的端在进行安装时选择对应的数据库的安装用户安装。
例如:源端 Oracle 数据库安装用户为 oracle,则源 DMDRS 就使用 oracle 用户进行安装;目的端 DM 数据库安装用户为 dmdba,则目的 DMDRS 就使用 dmdba 用户进行安装。本文以在 DM 端使用 dmdba 用户部署 DMDRS 为例。
DMDRS 默认安装目录在 home 目录下,用户可根据需要是否自定义安装目录,本文以创建 DMDRS 安装目录为例。
[root@dmgx2 ~]# mkdir -p /data/dmdrs5
[root@dmgx2 ~]# chown dmdba:dinstall -R /data/dmdrs5/
[root@dmgx2 ~]# chmod -R 755 /data/dmdrs5/
上传 DMDRS 安装包到/home/dmdba目录,并修改权限,后续解压操作通过dmdba用户运行
[root@dmgx2 dmdba]# chown dmdba:dinstall dmdrs_rev207725_x86_rh6_64_20251219.bin
[root@dmgx2 dmdba]# chmod 775 dmdrs_rev207725_x86_rh6_64_20251219.bin
将 DMDRS 的 key 文件上传到/home/dmdba并重命名为 dmdrs.key,然后对key文件赋权,本次实验使用的为测试版,没有key文件。
使用dmdba启动安装文件
[dmdba@dmgx2 ~]$ ./dmdrs_rev207725_x86_rh6_64_20251219.bin -i
安装语言和目录
指定安装组件
DMDRS 安装时提供 2 个组件进行选择安装。
01.“达梦数据融合管理平台”:
简称 DMDFM 是达梦为解决大型数据复制、数据集成项目的管理运维问题而推出的一款集安装配置、设计管理、监控运维于一体的软件。使用 DMDFM 可以快速安装配置达梦数据复制软件(DMDRS)、达梦数据集成软件(DMDIS)以及达梦数据校验软件(DMDVS),支持各种复杂拓扑结构同步链路的拖拽设计,支持监控大量的数据链路,极大地提升大型项目的实施和运维效率。
02.代理:
DMDFM 通过代理来进行管理、监控和实现各项功能。
如果 DMDFM 已在其它服务器安装,那么本服务器只需安装代理。例如:需要部署 Oracle 到 DM 的数据同步,在目的端 DM 服务器已部署了 DMDFM,那么在源端 Oracle 服务器上只需部署代理指定 DMDFM 的 IP 即可。
本文以 2 个组件都安装为例
数据库驱动位置
选择数据库软件安装位置,IP选择对外的访问IP
这里一定要选外置库,安装之前在本地建一个数据库实例就可以,内置库安装容易失败。
开始安装
安装完成后执行脚本,系统服务这里需要注册,注册后可以设置开机自启
安装完成
启动:
/data/dmdrs5/agent/DfmAgentService start
/data/dmdrs5/web/DfmWebService start
停止:
/data/dmdrs5/agent/DfmAgentService stop
/data/dmdrs5/web/DfmWebService stop
登录地址:http://10.10.122.20:8080/dmdfm#/home
源端DM8部署DMDRS方式与目的端DM8部署DMDRS方式大致相同,选择只安装代理,不装达梦数据融合管理平台,在选择达梦数据融合管理平台配置中,指定管理平台的IP为源端管理平台IP即可。
源端与目的端DMDRS部署完成后,登录DMDFM平台检查DMDRS代理是否正常运行,点击【运维】-【代理管理】,检查代理运行情况。
点击编辑:
源端19和目标端20修改配置文件dmarch.ini
[dmdba@dmgx1 DRSY]$ vi dmarch.ini
添加以下内容:标红部分需要根据实际修改
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/instance/DRSY/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 1024000
修改dm.ini里的ARCH_INI=1以及RLOG_APPEND_LOGIC = 1
##开启逻辑附加日志
call sp_set_para_value(1,‘RLOG_APPEND_LOGIC’,1);
查看配置是否生效:
select para_name, para_value, sess_value, file_value from V$DM_INI where para_name in (‘ARCH_INI’,‘RLOG_APPEND_LOGIC’);
DMDRS服务支持DDL同步功能。当应用场景中需要DDL同步时,数据库管理员执行脚本创建触发器和辅助表。创建DDL触发器和辅助表时,请使用具有DBA权限的用户。如果触发器或辅助表无效或缺失,会导致DDL同步失败,甚至会影响数据库。
执行脚本ddl_sql_dm8.sql
进入数据库执行:
SQL> set define off;
SQL> start ddl_sql_dm8.sql
查询辅助表和触发器是否创建成功:
select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DRS_$%' and status = 'Y';
select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DRS_$%' and status = 'VALID';
[dmdba@dmgx2 ~]$ vi .bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin:/home/dmdba/dmdbms/drivers/dpi:/data /dmdrs5/bin"
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin:/home/dmdba/dmdbms/drivers/dpi:/data /dmdrs5/bin
使配置生效
[dmdba@dmgx2 ~]$ source .bash_profile
源端:
配置完成后,测试连接,成功即可。
其他选项本次不需要配置,dm到其他数据库需要手动选择驱动,本次不需要。
目的端:
点击同步-同步工程概览-模板库-一对一场景
配置完成后点击确定
点击立即部署-确定
点击源配置,配置源端DMDRS同步的服务、掩码等。
需特别注意的是系统默认的最大装载线程数为32。若服务器配置较低,建议适当调整该数值,以避免造成CPU使用率过高。
启动服务时,先启动目的端,待目的端成功启动变蓝后,再启动源端,否则会因为源端先启动,目的端未启动报错“连接失败”。
相关图标变蓝既为启动成功。
将鼠标移动到链路“link1”上,出现按钮后点击,点击按钮后出现“装载”选项,再点击“装载”进行装载配置。
在“装载类别设置及掩码设置”选项中选择第三个“全量装载+增量同步”,在“具体装载表”选项中勾选需要进行数据装载的表。配置完成后点击左下角的“预检查”选项进行装载前的预检查。
数据装载开始及完成后在同步链路下方的“装载”栏中可看到装载任务的进度及状态信息等。
将鼠标移动至“link1”上,点击“启动”,启动同步链路。
同步链路变蓝后,说明同步链路启动成功。同步链路下方的“同步工程监控”栏中可看到同步任务的状态信息等。
达梦数据校验软件(简称DMDVS)是一种用于同构或异构数据库数据差异识别,并支持对差异数据进行修复、备份与还原的数据校验软件。DMDVS采用模块化的设计,实现多功能的数据校验服务,满足静态数据校验、动态数据校验和单向数据校验等多种场景下的数据校验业务需求。
1、在同步链路下方点击“校验”新建校验任务。
2、点击去启动-立即安装
3、选择版本
4、配置服务名、主机IP(DMDVS安装的主机IP)、安装路径、ssh端口号、主机用户名(DMDVS安装用户)、主机密码(登录用户密码)。
5、配置代理(可新建或使用已有的代理,本次示例使用已有的代理)、服务端口号、JDK路径(可选是否配置,不配置则使用默认配置,本次示例使用默认配置)、缓存路径。
6、配置DMDVS版本、依赖环境路径(重点配置项,用户需指定DMDVS的环境依赖路径,本次指定为DMDRS服务所在路径的bin目录:/ /home/dmdba/dmdbms/bin)、指定key(可上传key文件或安装后在配置key文件,本次示例此处选择不上传key文件)、自动拉起服务器(本次示例选择不启用)。
7、预检查通过后开始安装
8、配置校验服务
9、开始校验
使用DMDRS用户在源端创建表
##源端目标端均执行创建用户
CREATE USER DMDRS IDENTIFIED by "Dmdrs123";
grant "RESOURCE","PUBLIC","VTI","SOI","SVI" to "DMDRS";
grant CREATE SESSION to "DMDRS";
##源端创建测试表并插入数据
connect dmdrs/Dmdrs123
CREATE table TEST(id int,name varchar2(20));
insert into TEST values(1,'PP');
insert into TEST values(3,'AA');
commit ;
#创建索引
create index testindex on DMDRS.test(ID);
备节点查看
结束!
源端 DM8 中使用 DMDRS 用户创建表、插入数据和创建索引,检查目的端 DM8 的表结构及数据是否与源端一致,验证同步效果。
通过以上步骤,可完成 DMDRS 从部署到实现数据同步的全过程,确保数据在源端和目的端的一致性与及时性。在实际操作中,需根据具体环境和业务需求调整相关配置参数。
文章
阅读量
获赞
