DMHS单机库到单机库数据同步
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