当前位置: 首页 > news >正文

达梦数据库DMHS介绍及安装部署

目录

概述

安装规划

安装步骤

上传安装包

更改权限

执行安装命令

源端和目的端处理

开启归档

开启逻辑日志

 创建测试表

生成测试数据

 配置目的端文件

配置源端文件

 启动目的端

启动源端

装载数据

 源端开启cpt模块

 数据同步验证

随机数据验证 


概述

达梦数据实时同步软件(DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影响,能以极少的系统开销实现秒级数据实时同步复制。DMHS基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。

安装规划

在源端和目的端进行单向数据同步安装,源端IP192.168.153.130,目的端IP192.168.153.131

安装步骤

上传安装包

DMHS安装包上传至虚拟机(本次上传路径为/opt目录下,源端和目的端都要上传)

更改权限

采用root用户执行下面的命令:

chown -R dmdba:dinstall /optchmod -R 755 /opt

切换至dmdba用户

su dmdba

执行安装命令

使用dmdba用户执行下面的安装命令(-i为命令行安装的方式,源端和目的端都需要进行安装)

./dmhs_V4.3.36_dm8_rev181880_rh6_64_20250218_sp3.bin -i

语言选择:选择2简体中文

 

选择1免费试用达梦数据实时同步

选择2安装完整版

选择安装目录(本次默认安装目录,直接回车即可)

这里选择统一部署

远程部署工具名称默认即可

主机IP通过ifconfig查看后输入本机可被访问的IP地址即可

web服务内置库默认即可

依赖库路径选择dm数据库安装目录下的bin目录和dmhs安装目录下的bin目录,中间用:隔开

/home/dmdba/dmdbms/bin:/home/dmdba/dmhs/bin 

 

所有的服务选择手动启动,至此dmhs安装完成,安装路径为/home/dmdba/dmhs

源端和目的端处理

开启归档

源端和目的端使用管理工具或disql登录数据库,执行下面的命令(路径更换为自己的路径即可)开启归档

ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG ;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL, DEST = /dmdata/arch, file_size=128, space_limit=1024';
ALTER DATABASE OPEN ;

 验证归档是否开启:

select para_value from v$dm_ini where para_name in ('ARCH_INI');

结果显示为1,表示开启归档

开启逻辑日志

源端和目的端采用下面的命令开启逻辑日志

SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);

 验证逻辑日志是否开启

select para_value from v$dm_ini where para_name in ('RLOG_APPEND_LOGIC');

结果显示为1表示开启逻辑日志

 创建测试表

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

create table EMPLOYEES
(EMPLOYEEID INT not null, //非空 主键,自增列NATIONALNO VARCHAR(18) not null, //非空 身份证号码PERSONID INT not null, //非空 指向 PERSON.PERSONID 的外键LOGINID VARCHAR(256) not null, //非空 用户登录 IDTITLE 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工具生成1万条测试数据

 配置目的端文件

在目的端DMHS安装目录下的bin目录下,新建dmhs.hs配置文件

内容如下:

<?xml version="1.0" encoding="GB2312"?>
<dmhs><base>    <!-- 管理模块的基本配置 --><lang>en</lang>    <!-- 语言选项,ch 为中文,en 为英文 --><mgr_port>5345</mgr_port>    <!-- 管理端口号,默认为5345--><ckpt_interval>60</ckpt_interval>    <!-- 检查点间隔,默认60 --><siteid>2</siteid>    <!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 --><version>2.0</version>
</base>
<exec>    <!-- 执行模块的基本配置 --><recv><data_port>5346</data_port>    <!-- 当数据传递采用网络直连时,需要配置该参数,表明同步数据从该端口号获取。 --></recv><db_type>dm8</db_type>    <!-- 目标端数据库类型 --><db_server>192.168.153.131</db_server>    <!-- 目标端数据库服务名或IP --><db_user>SYSDBA</db_user>    <!-- 目标端数据库用户 --><db_pwd>DMwzy6870</db_pwd>    <!-- 用户的密码 --><db_port>5236</db_port>    <!-- 目标端数据库端口 --><db_name></db_name>    <!-- 默认数据库名,默认为空串(只针对dm6有用)--><char_code>PG_GB18030</char_code><exec_thr>4</exec_thr>    <!-- 执行线程个数,只有当 exec_mode 为 1 时才会生效!默认为1 --><exec_sql>1024</exec_sql>    <!-- SQL 缓存大小,默认为 512M --><exec_trx> 5000 </exec_trx>    <!-- 事务缓存个数,默认为 5000 --><exec_rows>1000</exec_rows>    <!-- 批量绑定行数,默认为 250 --></exec>
</dmhs>

将目的端数据库的IP、端口号、用户名和密码修改为自己机器的即可,其他选项可默认

配置源端文件

在源端DMHS安装目录下的bin子目录,新建dmhs.hs配置文件

<?xml version="1.0" encoding="GB2312"?>
<dmhs><base>
<lang>en</lang><mgr_port>5345</mgr_port><ckpt_interval>60</ckpt_interval><siteid>1</siteid>
<version>2.0</version></base><cpt><db_type>dm8</db_type><db_server>192.168.40.141</db_server><db_user>SYSDBA</db_user><db_pwd>dameng123</db_pwd><db_port>5236</db_port><db_ssl_path></db_ssl_path><db_ssl_pwd></db_ssl_pwd><parse_thr>1</parse_thr><ddl_mask>op:obj</ddl_mask> <!--DDL 配置项--><arch><!--归档清理配置项--><clear_interval>600</clear_interval><clear_flag>0</clear_flag></arch><send><!-- 发送模块配置 --><ip>192.168.40.142</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><trigger>1</trigger><!-- 是否忽略触发器,默认为 0,限定值 0,1 --><constraint>1</constraint><!-- 是否忽略约束,默认为 0,限定值 0,1 --><identity>1</identity><net_turns>0</net_turns><filter><!--过滤配置项--><enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item></enable></filter><map><!--映射配置项--><item>SYSDBA.*==SYSDBA.*</item></map></send></cpt>
</dmhs>

将源端数据库的IP、端口号、用户名和密码修改为自己机器的即可,将发送模块配置下面的IP替换为目的端的IP即可,其他选项可默认,映射配置选项选择想要同步的模式和表即可

 启动目的端

在第一个终端bin目录下执行下面的命令:

./dmhs_server dmhs.hs

重新启动一个终端,在bin目录下执行下面的命令 

./dmhs_console 

随后执行start exec命令

 

第一个终端显示如下:

启动源端

在第一个终端bin目录下执行下面的命令:

./dmhs_server dmhs.hs

重新启动一个终端,在bin目录下执行下面的命令

./dmhs_console

 随后执行下面的命令初始化日志的起始位置

clear exec lsn

此处红色错误需要将源端dmhs.hs文件中的<ddl_mask>op:obj</ddl_mask> <!--DDL 配置项-->设置为<ddl_mask>0</ddl_mask> <!--DDL 配置项--> 

装载数据

在源端执行下面的命令进行数据装载

copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX

目的端数据装载过程展示:

数据装载成功:

源端数据装载展示:

 源端开启cpt模块

./dmhs_console启动的命令行中执行start cpt命令,即可实现数据同步

 数据同步验证

在源端的表中新生成1000条数据,验证目的端的数据条数

源端:

目的端:

随机数据验证 

在源端使用select * from sysdba.EMPLOYEES limit 1;查询一条语句,在目的端采用唯一标识select * from sysdba.employees where nationalno='sCk7Y1s9Tb9zLku'进行查询。查看两条数据是否一致。如下图所示,结果一致

至此,DMHS单向dm8-dm8搭建完成。

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

http://www.lryc.cn/news/580184.html

相关文章:

  • vue/微信小程序/h5 实现react的boundary
  • 使用Spring AOP实现@Log注解记录请求参数和执行时间
  • Linux基础 -- NAND Flash UBIFS基础特性及注意点
  • Adobe Illustrator设置的颜色和显示的颜色不对应问题
  • 新手快速入门Luban+Unity使用
  • OneCode 智能化UI布局与定位:注解驱动的视觉编排艺术
  • 打通线上线下会议室联动的综合解决方案及技术选型
  • Echarts3D柱状图-圆柱体-文字在柱体上垂直显示的实现方法
  • D3 面试题100道之(21-40)
  • 如何查看自己电脑的CUDA版本?
  • 服务器间接口安全问题的全面分析
  • 学习者的Python项目灵感
  • 本地区块链服务在物联网中的应用实例
  • Rust+Blender:打造高性能游戏引擎
  • OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
  • golang 中当 JSON 数据缺少结构体(struct)中定义的某些字段,会有异常吗
  • 【HDMI CEC】 设备 OSD 名称功能详解
  • Rust match 控制流结构
  • 从0开始学习R语言--Day38--辛普森多样性指数
  • 重学前端002 --响应式网页设计 CSS
  • 【网络安全基础】第三章---公钥密码和消息认证
  • <tauri><rust><GUI>使用tauri创建一个文件夹扫描程序
  • 【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
  • C++26 下一代C++标准
  • 深度学习笔记29-RNN实现阿尔茨海默病诊断(Pytorch)
  • 倾斜摄影无人机飞行航线规划流程详解
  • 前端开发-前置知识
  • 2025.7.4总结
  • 物联网数据安全区块链服务
  • DeepSeek-R1知识蒸馏和微调实践(一)源码