欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DMHS单机库到单机库数据同步

程序员文章站 2022-05-16 23:20:41
DMHS单向同步前言达梦数据实时同步软件 DMHS 是达梦公司推出的新一代支持异构环境的高性能、高可靠和高可扩展的数据库实时同步系统。DMHS 的实时数据同步复制采用并行处理体系,能够实时读取主机源数据库日志,以较低的资源占用实现大批量的数据实时复制。本文以单机库到单机库的DMHS(dm7)安装部署为例进行详细讲解。一、DMHS软件安装1、源端和目标端都需安装DMHS软件1)配置环境变量vi /etc/profile```bashexport LD_LIBRARY_PATH=/dm7/dm...

DMHS单向同步

前言

达梦数据实时同步软件 DMHS 是达梦公司推出的新一代支持异构环境的高性能、高可靠和高可扩展的数据库实时同步系统。DMHS 的实时数据同步复制采用并行处理体系,能够实时读取主机源数据库日志,以较低的资源占用实现大批量的数据实时复制。本文以单机库到单机库的DMHS(dm7)安装部署为例进行详细讲解。

一、DMHS软件安装

1、源端和目标端都需安装DMHS软件
1)配置环境变量
vi /etc/profile


```bash
export LD_LIBRARY_PATH=/dm7/dmdba/dmdbms/bin:$LD_LIBRARY_PATH --数据库安装目录

2)生效:source /etc/profile
3)命令行安装(root用户安装)
–修改文件并给予权限
#chmod +x dmhs_V3.1.3_dm7_rev86963_rh6_64_veri_20190723.bin
#./dmhs_V3.1.3_dm7_rev86963_rh6_64_veri_20190723.bin -i

Extract install files..........
1.英文(English)
2.简体中文(简体中文)
安装语言[2.简体中文(简体中文)]:2  
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:1
1.标准版
2.企业版(客户端主控版)
3.自定义
安装类型[1.标准版]:2
1.实时同步软件服务器
2.守护控制工具
3.对比工具客户端
4.实时同步软件客户端
5.内置数据库
6.实时同步软件配置助手
7.手册
所需磁盘空间:2,147 MB
安装目录: [/home/dmdba/dmhs]/dm7/dmhs
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:2
正在安装
正在创建快捷方式                                   
安装成功
实时同步服务(DMHS)配置
1.英文(English)
2.简体中文(简体中文)
Dmhs语言[2.简体中文(简体中文)]:2
请输入mgr端口号 (1000-65535)[5345]:5345
请输入信息收集间隔 时间(1-60)[3]:3
请输入检查点间隔时间(10-65536)[60]:
请输入站点id(0-65536):1
远程管理工具(GUARD)配置
远程部署工具名称[Guard]:
主机Ip(外网)[192.168.1.131](192.168.1.131,192.168.55.7):192.168.55.7
远程部署工具管理端口[5456](1000-65535):
内置数据库轮询间隔[3](1-60):
内置数据库IP[192.168.1.131]:
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
1.命令行方式
2.系统服务方式
3.脚本服务方式
Dmhs启动方式[2.系统服务方式]:
达梦数据实时同步服务
1.自动
2.手动
启动方式:[2.手动]1
正在创建达梦数据实时同步服务
无系统服务目录写入权限:请以root用户登录:复制 /dm7/dmhs/bin/DmhsServiceHSSERVER 到 /usr/lib/systemd/system ! 是否已完成复制?(Y/N)[Y]
..##dmdba需cp服务,直到安装完成
达梦数据实时同步 V4.0 安装完成

更多安装信息,请查看安装日志文件:
/dm7/dmhs/log/install.log

二、源/目标端文件配置

1.源端文件配置

检查源端数据库是否开启归档日志、逻辑追加日志;如果需要DDL同步,还需要执行DMHS提供的SQL脚本。
1、开启归档和逻辑日志
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
注意:dm.ini配置参数中"FAST_COMMIT" 必须为0,否则会导致逻辑日志不全而影响同步
2、添加归档配置文件
vim dmarch.ini

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /data/DAMENG/arch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位MB
ARCH_SPACE_LIMIT = 0 #空间大小限制,0表示不限制

3、重启数据库,使配置文件生效

/etc/init.d/DmServiceDMSERVER start 

1)检查归档日志

select arch_mode from v$database;

2)检查逻辑追加日志

select para_value from v$dm_ini where para_name='RLOG_APPEND_LOGIC';

4、配置DDL同步
若需要创建DDL触发器和辅助表,需要执行ddl_sql_dm7.sql脚本(SYSDBA操作)

start /dm7/dmhs/scripts/ddl_sql_dm7.sql

5、配置dmhs.hs
$ cd /dm7/dmhs/bin
$ vi dmhs.hs
dmhs.hs是DMHS默认的配置文件名,以同步DMHR用户下所有表数据为例,那么基本的配置示例如下:## 标题

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port> 
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid> 
</base>
<cpt>
<db_type>dm7</db_type>
<db_server>192.168.55.7</db_server> 
<db_user>SYSDBA</db_user> 
<db_pwd>SYSDBA</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>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>2</clear_flag>
<bak_dir>/dm7/arch_bak</bak_dir>
</arch>
<send>
<ip>192.168.55.8</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>DMHR.*</item>
</enable>
</filter>
<map>
<item>DMHR.*==DMHR.*</item>
</map>
</send>
</cpt>
</dmhs>

6、启动dmhs服务
前台启动命令:/dm7/dmhs/bin/dmhs_server /dm7/dmhs/bin/dmhs.hs
服务启动:$ ./DmhsServiceHSSERVER start
Starting DmhsServiceHSSERVER: [ OK ]

2.目标端文件配置

1、配置dmhs.hs
$ cd /dm7/dmhs/bin
$ vi dmhs.hs

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>dm7</db_type>
<db_server>192.168.55.8</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<db_name></db_name>
<exec_thr>4</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>1000</exec_rows>
</exec>
</dmhs>

2、开启目的端dmhs服务
cd /opt/dmhs/bin
./dmhs_serverd start
服务命令启动:$ ./DmhsServiceHSSERVER start

三、初始装载

装载前源端 DMHS 服务和目的端 DMHS 服务都需要开启
1、首先装载目的端

./dmhs_console 
DMHS > connect (connect 127.0.0.5345/5445 默认是5345)
CSL[WARN]: [INPUT CMD: connect]
CSL[INFO]: execute success
DMHS >start exec 
CSL[WARN]: [INPUT CMD: start exec]
CSL[INFO]: execute success

2、装载源端:

cd /dm7/dmhs/bin 
./dmhs_console 
DMHS >connect (connect 127.0.0.5345/5445 默认是5345)
DMHS >clear exec lsn
DMHS >copy 0 "sch.name='DMHR'" DICT|LSN|CREATE|INSERT|INDEX
CSL[WARN]: [INPUT CMD: copy 0 "sch.name='DMHR'" DICT|LSN|CREATE|INSERT|INDEX]
CSL[WARN]: 检测到LSN掩码,该掩码会忽略日志中小于当前LSN的所有操作,请确认是否继续?(Y/N)
Y
##(服务挂起,辅助查看日志tail -f DmhsServiceHSSERVER.log)
DMHS >start cpt 
##至此,DMHS实时同步安装完成。

四、开启同步
初始装载完成后,则可以开启同步:
源端 DMHS:

./dmhs_console
DMHS >start

DMHS DM7 单机搭建过程中,需要注意初始装载之后保证源库和目的库的待同步的表数据一致,这样才可以开启 DMHS 同步,否则会导致数据同步失败。

四、问题小结

问题1:
#./dmhs_V3.1.3_dm8_rev89161_rh7_64_veri_20191115.bin -i
Extract install files…Extraction failed.
解决:更换版本dm7,问题不再复现

问题2:
DMHS >connect
CSL[WARN]: [INPUT CMD: connect]
CSL[INFO]: execute success
DMHS >start exec
CSL[WARN]: [INPUT CMD: start exec]
CSL[ERROR]: load execute module failure
解决:配置root下环境变量/etc/profile并生效后问题解决

本文地址:https://blog.csdn.net/weixin_39053024/article/details/108977439