达梦HS搭建(DM-DM)_yxy

15 篇文章 0 订阅
8 篇文章 0 订阅

1 环境准备

1.1 DM8数据库安装

需要源端和目的端都安装达梦数据库并启动,数据库端口都为5236,链接为:https://blog.csdn.net/yxy___/article/details/114086338

1.2 DMHS安装

需要源端和目的端都安装对应的dmhs

2 源端部署

2.1 开启源端数据库归档和逻辑日志

2.1.1开启归档

连接数据库:
./disql SYSDBA/SYSDBA@localhost:5236
开启归档语句:
alter database mount;
alter database archivelog;
alter database add archivelog ‘TYPE=LOCAL,DEST=/home/dmdba/dmdbms/data/test_hs/arch,FILE_SIZE=1024, SPACE_LIMIT=10240’;
alter database open;
查询归档是否开启:
select arch_mode from v$database; (Y为开启)

2.1.2开启逻辑日志

连上数据库执行语句:SP_SET_PARA_VALUE(2,‘RLOG_APPEND_LOGIC’,1); --重启数据库生效
查询逻辑日志是否开启:
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = ‘RLOG_APPEND_LOGIC’; (1为开启)

2.1.3注意

dm.ini 配置参数中“FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响同步。
select para_value from v$dm_ini where para_name = ‘FAST_COMMIT’; (0为正常)

2.2 创建DDL触发器和辅助表

如果要求 DDL 同步,那么源端需要创建 DDL 触发器和辅助表。创建的脚本参见 DMHS 安装目录下 scripts 子目录中“ddl_sql_dm8.sql”。注意创建时需要使用SYSDBA 用户。(下图为创建成功)
在这里插入图片描述

2.3 配置dmhs.hs

dmhs.hs 是 DMHS 默认的配置文件名,在dmhs安装目录的bin目录下,如果需要 DDL 同步,那么基本的配置示例如下:

<?xml version="1.0" encoding="utf-8"?>
<dmhs>
 <base> 
 <lang>ch</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>127.0.0.1</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> <!--DDL 配置项--> 
 <arch><!--归档清理配置项--> 
 <clear_interval>600</clear_interval> 
 <clear_flag>0</clear_flag> 
 </arch> 
 <send><!-- 发送模块配置 --> 
 <ip>192.168.202.101</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>

2.4 环境变量配置

1编辑环境变量文件:
vim ~/.bash_profile
最后一排增加(对应修改为自己的安装目录):
export DMHS_HOME=/opt/test_hs
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/test_hs/bin:/opt/test_hs/db/bin:/opt/test_hs/db/lib:/home/dmdba/dmdbms/bin

2使环境变量生效:
source ~/.bash_profile

3查询环境变量是否设置成功
echo $LD_LIBRARY_PATH
如果有/opt/test_hs/bin:/opt/test_hs/db/bin:/opt/test_hs/db/lib:/home/dmdba/dmdbms/bin几个目录则为成功

3 目的端部署

3.1 配置dmhs.hs

dmhs.hs 是 DMHS 默认的配置文件名,在dmhs安装目录的bin目录下,基本的配置示例如下:

<?xml version="1.0" encoding="utf-8"?>
<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>dm8</db_type>
 <db_server>192.168.202.101</db_server>
 <db_user>SYSDBA</db_user>
 <db_pwd>SYSDBA</db_pwd>
 <driver>DM8 ODBC DRIVER</driver>
 <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>

3.2 环境变量配置(同源端)

4 同步测试

4.1 启动dmhs服务

源端和目的端都前台启动dmhs服务:
cd /opt/test_hs/bin
./dmhs_server dmhs.hs

4.2 初始装载

初始装载是将源端数据库中的初始数据装载到目的端数据库,使 DMHS 同步的时刻源和目的端的同步表数据一 致。装载前源端 DMHS 服务和目的端 DMHS 服务都需要开启。

①目的端
目的端新开一个连接,依次执行:
cd /opt/test_hs/bin
./dmhs_console
connect
start exec
下图为成功执行,并在目的端的SYSDBA下创建表:
在这里插入图片描述
②源端
开始初始装载,源端新开一个连接,依次执行:
cd /opt/test_hs/bin
./dmhs_console
connect
clear exec lsn
copy 0 “sch.name=‘SYSDBA’” DICT|LSN|CREATE|INSERT|INDEX
下图为成功执行:
在这里插入图片描述

4.3 开启同步

初始装载完成后,则可以开启同步:
源端:
./dmhs_console
start cpt

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值