DMHS搭建手册

一、DMHS工具的特点

(1)捕获器将源端数据库日志读取解析后发送出去,它必须与源端数据库在同一台机器上
(2)即使源数据库中断了服务,也不会影响日志分析。
(3)执行器将接收到的数据入库执行,它可以与目标端数据库处于不同机器
(4)路由是 N 对 N 网络链路的映射,它不能对链路中的数据进行
修改,而转发功能则可以针对每个下一级配置不同的过滤和映射
(5)并行处理体系,以源数据库的事务为单位同步,TCP/IP协议传输,断电续传,备机可读写,备机可以在主机故障接管,
(6)可以支持一对一,一对多,多对一,多对多,级联同步

二、web端

需要启动三个服务:
(1)bin目录下把web启动:

DmServiceHSDB start

(2)dmhs/web/bin下启动tomcat:

./DmhsWebService start

(3)dmhs/hs_agent目录下启动:

./DmhsAgentServiceHsAgent start

三、搭建步骤

1.准备两台虚拟机,都安装上达梦数据库软件(DM8)
初始化两个数据库,源端数据库IP192.168.106.128:5240
目的端数据库IP:192.168.106.129:5240

./dminit path=/home/dmdba/dmdbms/data db_name=src_hs port_num=5240

前台正常启停数据库一次

./dmserver /home/dmdba/dmdbms/data/src_hs/dm.ini

2.开启归档和逻辑日志

ARCH_INI = 1
RLOG_APPEND_LOGIC = 1

dm.ini 配置参数中“FAST_COMMIT”必须为 0
3.添加归档配置文件dmarch.ini
源端:

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST =/home/dmdba/dmdbms/data/src_hs/arch  
ARCH_FILE_SIZE = 128 
ARCH_SPACE_LIMIT =2048

目的端:

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST =/home/dmdba/dmdbms/data/dest_hs/arch 
ARCH_FILE_SIZE = 128 
ARCH_SPACE_LIMIT =2048

4.重启 DM8 数据库,使配置参数生效。

./dmserver /home/dmdba/dmdbms/data/src_hs/dm.ini
./dmserver /home/dmdba/dmdbms/data/src_hs/dm.ini

5验证配置的正确性
(1)登录disql

./disql SYSDBA/SYSDBA:5240

(2)检查归档配置的正确性

SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' 
AND ARCH_IS_VALID='Y';

(3)检查逻辑日志配置的正确性

SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';

(4)检查在线日志,

SELECT PATH FROM SYS.V$RLOGFILE;

(5)检查 FAST_COMMIT 参数是否为 0

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

6.如果要求 DDL 同步,那么需要创建 DDL 触发器和辅助表。创建的脚本参见 DMHS 安装目录下 scripts 子目录中“ddl_sql_dm7.sql”。注意创建时需要使用 SYSDBA 用户

cd /opt/dmhs/scripts/
`/opt/dmhs/scripts/ddl_sql_dm7.sql

执行成功后显示:
11条语句执行成功

7.在源端192.168.106.128机器上dmhs安装路径下编写dmhs.hs

<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
</base>
<cpt>
<db_type>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5240</db_port>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!--DDL配置项-->
<arch><!--归档清理配置项-->
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
<bak_dir>/dmarch/arch_bak</bak_dir>
</arch>
<send><!-- 发送模块配置-->
<ip>192.168.106.129</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>
<filter><!--过滤配置项-->
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item>
</enable>
</filter>
<map><!--映射配置项-->

</map>
</send>
</cpt>
</dmhs>

8.在目的端192.168.106.129编写dmhs.hs

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</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>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5240</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>

9.开启源端服务

./dmhs_serverd start  --此处为后台启动方式

10.开启目的端 DMHS 服务

./dmhs_serverd start

11.源端和目的端同步登录到控制台

./dmhs_console
connect

12.初始数据装载
此时需要stop cpt,start exec

copy 0 "sch.name='SYSDBA'" dict|create|insert

13.开启同步:
源端:start cpt
目的端:start exec
注意:创建一张DMHS的表,无法同步

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值