达梦之路——基于linux平台(redhat)安装部署DMHS

一、前言

   达梦数据实时同步软件 DMHS 是一款基于日志分析的数据库实时同步系统,具备高性 能、高可靠、易于扩展等多种优势。

二、环境准备

服务器

IP

配置

操作系统版本

DMHS版本

主库

192.168.255.137

1核2G

Redhat7.5

dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

备库

192.168.255.138

1核2G

Redhat7.5

dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

1.检查DM数据库是否开启归档

select arch_mode from v$database;

ARCH_MODE=Y

若没有开启归档:

ARCH_INI=1

vi dmarch.ini

[ARCHIVE_LOCAL1]

ARCH_TYPE     =  LOCAL

ARCH_DEST     =  /dbarch/dmarch

ARCH_FILE_SIZE  = 2048

ARCH_SPACE_LIMIT = 102400

2.检查是否打开逻辑追加日志。

RLOG_APPEND_LOGIC=1

三、正式安装

1.将安装包传到服务器上,给安装包赋权

chown -R dmdba:dinstall /opt/tmp/dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

chmod 755 /opt/tmp/dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

chown -R dmdba:dinstall /opt/tmp/libdmoci.so

chmod 755 /opt/tmp/libdmoci.so

2.命令行方式安装

./dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin -i

>>简体中文

>>免费试用达梦数据实时同步

>>精简版

>>安装目录:/home/dmdba/dm/dmhs

>>统一部署

>>远程部署工具名称[HsAgent]

>>主机Ip(外网)[192.168.255.137]

>>远程部署工具管理端口[5456](1000-65535)

>>内置数据库轮询间隔[3](1-60)

>>内置数据库IP[]:192.168.255.137

>>内置数据库端口[15236](1000-65535)

>>内置数据库用户名[SYSDBA]

>>内置数据库密码[SYSDBA]

>>启动方式:[2.手动]

加入缺少的libdmoci.so模块

mv /opt/tmp/libdmoci.so /home/dmdba/dm/dmhs/bin/

3.编辑dmhs.hs配置文件

主库:

vi /home/dmdba/dm/dmhs/bin/dmhs.hs

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

   <base>

        <lang>en</lang>

        <mgr_port>5345</mgr_port>

        <chk_interval>3</chk_interval>

        <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>5236</db_port>

        <idle_time>300</idle_time>

        <dict_dir>/dbbak/dmhs_dict</dict_dir>

        <ddl_mask>obj:op</ddl_mask>

        <parse_thr>1</parse_thr>

        <arch>

              <clear_interval>600</clear_interval>

              <clear_flag>0</clear_flag>

              <bak_dir></bak_dir>

        </arch>

        <send>

              <ip>192.168.255.138</ip> <!-- 目的端 -->

              <mgr_port>5345</mgr_port>

              <data_port>5346</data_port>

              <level>0</level>

              <trigger>1</trigger><!-- 是否忽略触发器,默认为0,限定值0,1 -->

              <constraint>1</constraint><!-- 是否忽略约束,默认为0,限定值0,1 -->

              <identity>1</identity><!-- 是否忽略自增列,默认为0,限定值0(不忽略,插入同步过来的值),1(忽略,插入自增列自身的值) -->

              <net_turns>0</net_turns>

              <filter>

                      <enable>

                              <item>*.*</item>

                      </enable>

                      <disable>

                              <item></item>

                      </disable>

              </filter>

              <map>

                      <item></item>

              </map>

        </send>

      </cpt>

          </dmhs>

备库:

vi /home/dmdba/dm/dmhs/bin/dmhs.hs

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

    <base>

        <lang>en</lang>

        <mgr_port>5345</mgr_port>

        <chk_interval>2</chk_interval>

        <ckpt_interval>45</ckpt_interval>

        <siteid>2</siteid><!— 序号唯一 -->

    </base>

    <recv>

        <data_port>5346</data_port>

        <exec>

                <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_name></db_name>

                <exec_mode>1</exec_mode>

                <exec_thr>4</exec_thr> <!-- 线程数 -->

                <exec_sql>512</exec_sql>

                <exec_trx>5000</exec_trx>

                <exec_rows>250</exec_rows>

                <exec_policy>2</exec_policy>

                <msg_col_size>8000</msg_col_size>

                <level>0</level>

    <affect_row>0</affect_row>

         </exec>

     </recv>

</dmhs>

4.执行ddl同步sql脚本,如果是双向同步,则目标端与源端都需要执行该脚本

脚本在 /home/dmdba/dm/dmhs/scripts路径下

dm8选择ddl_sql_dm8.sql脚本

5.启动dmhs服务

./dmhs_server

目标端与源端都启动

start

源端数据装载

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

6.编写后台启动脚本

cp /home/dmdba/dm/dmhs/bin/service_template/DmhsService /home/dmdba/dm/dmhs/bin/dmhs_serverd

chmod 755 /home/dmdba/dm/dmhs/bin/dmhs_serverd

vi /home/dmdba/dm/dmhs/bin/dmhs_serverd

更改路径

DMHS_HOME=/home/dmdba/dm/dmhs/bin

PROG_DIR=/home/dmdba/dm/dmhs/bin

CONF_PATH=/home/dmdba/dm/dmhs/bin/dmhs.hs

NEED_LIB_PATH=$DMHS_HOME:/home/dmdba/dm/dmdbms/bin

启动服务

/home/dmdba/dm/dmhs/bin/dmhs_serverd start

查看服务

/home/dmdba/dm/dmhs/bin/dmhs_serverd status

7.测试

主库:

create table dmtest01(v1 int);

insert into dmtest01 values(1);commit;

备库:

select * from dmtest01;

四、后记

1.在DMHS第一次启动时报错

CPT[ERROR]: DDL_MASK is not empty, but some DDL auxiliary table is missed, please rebuild it or set DDL_MASK = 0.

需要执行/home/dmdba/dm/dmhs/scripts/ddl_sql_dm8.sql脚本

2.启动DMHS报错

MGR[ERROR]: unable to connect to management module at peer(192.168.255.138:5345)

很明显的端口问题,防火墙没关闭

社区地址:https://eco.dameng.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值