DM8 DMHS单机双向同构DM8-DM8部署

1、准备工作

        首先准备两台已经安装好的DM8单机版服务器,以及相关包的安装,数据库参数的检查。

1.1数据库参数检查 

1.1.1归档参数  

 DMHS同步源端、目标端数据库需要开启归档模式,检查归档是否开启

 如果没有开启,通过两种方式开启归档

方式一:SQL命令开始归档

alter database mount;
alter database add archivelog 'DEST=/opt/dm8_arch,TYPE=LOCAL,FILE_SIZE=256,SPACE_LIMIT=0';
alter database archivelog;
alter database open;

方式二:vim dmarch.ini

 注意:设置对象:源端。开启归档模式需要确定归档路径、归档类型、归档文件大小、归档空间大小限制参数。

1.1.2附加日志参数

 DMHS同步源端数据库需要开启附件日志参数,使用SQL语句查询

源端:

目标端:

 PARA_VALUE值为0表示未开启,更改参数有如下两种方式

方法一:SQL层面修改

 方法二:vim dm.ini文件

 注意:RLOG_APPEND_LOGIC为静态参数,修改后需要重启数据库才能生效。

重启后,再次查询此参数值是否生效。

 1.1.3 DDL同步参数

启用RLOG_APPEND_SYSTAB_LOGIC,默认值0,表示不起用 ,静态参数,同时需要在DMHS配置文件中进行ddl_mask参数配置,用于设置DDL同步对象操作

vim dm.ini

 配置DMHS

上传hs安装包,并修改包名

 修改属主、属组、权限

 安装hs    --dmdba用户安装

 配置DDL(源端和目标端)

如果用命令行执行,会有字符集的错误,建议用管理工具执行

 

检查创建的辅助表是否有效

检查创建的触发器是否有效

 1.2系统环境检查

检查系统环境变量PATH以及LD_LIBRARY_PATH中是否设置了DM7的安装路径

注意:对于LINUX平台,注意$LANG环境变量与配置文件中char_code参数配置一致。

端口状态检查,检查DMHS配置端口的状态,确保端口未被占用

 1.3安装UinxODBC

上传UinxODBC包,并解压此包,进入解压后的包,执行以下命令

./configure --prefix=/usr/local/unixODBC-2.3.9 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc
make & make install
ldconfig
odbcinst -j

2、安装部署

2.1源端部署

dmhs.hs配置,源端dmhs.hs(在dmhs的bin目录下进行编辑)

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
        <lang>ch</lang>
        <mgr_port>5345</mgr_port>
        <chk_interval>2</chk_interval>
        <siteid>1</siteid>
   </base>
   <recv>
        <data_port>5346</data_port>
        <exec>
            <db_type>DM8</db_type>
            <db_server>源端IP</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>512</exec_sql>
             <exec_trx> 5000 </exec_trx>
             <exec_rows>250</exec_rows>
             <msg_col_size>3000</msg_col_size>
             <exec_policy>0</exec_policy>
</exec>
</recv>
    <cpt>
        <db_type>DM8</db_type>
        <db_server>源端IP</db_server>
        <db_user>SYSDBA</db_user>
        <db_pwd>SYSDBA</db_pwd>
        <db_port></db_port>
        <idle_time>300</idle_time>
<ddl_mask>TABLE:INDEX:TRUNCATE:CREATE:DROP:ALTER</ddl_mask>
<parse_thr>1</parse_thr>
        <arch>
<clear_interval>600</clear_interval>
            <clear_flag>1</clear_flag>
            <bak_dir></bak_dir>
        </arch>
        <send>
<ip>目标端IP</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>SYSDBA.*</item>
</enable>
<disable>
<item></item>
</disable>
</filter>
<map>
<item>SYSDBA.*==SYSDBA.*</item>
</map>
</send>
</cpt>
</dmhs>

2.2端部署

dmhs.hs配置,目标端dmhs.hs(在dmhs的bin目录下进行编辑)

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<siteid>2</siteid>
</base>
<recv>
<data_port>5346</data_port>
<exec>
<db_type>DM8</db_type>
<db_server>目标端IP</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>512</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>250</exec_rows>
<msg_col_size>3000</msg_col_size>
<exec_policy>1</exec_policy>
</exec>
</recv>
<cpt>
<db_type>DM8</db_type>
<db_server>目标端IP</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port></db_port>
<idle_time>300</idle_time>
<ddl_mask></ddl_mask>
<parse_thr>1</parse_thr>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>1</clear_flag>
<bak_dir></bak_dir>
</arch>
<send>
<ip>源端IP</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>SYSDBA.*</item>
</enable>
<disable>
<item></item>
</disable>
</filter>
<map>
<item>SYSDBA.*==SYSDBA.*</item>
</map>
</send>
</cpt>
</dmhs>

2.3初始装载

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

2.3.1开启两端DMHS服务


(1)开启目标端DMHS服务(/home/dmdba/dmdbms/dmhs/bin)

 注意:

如果dmhs_V4.1.2_dm8_xxx_rh6_64_veri_20210604.bin包不在使用期内,利用root用户更改系统时间即可。

(2)开启源端DMHS服务

 2.3.2开启DMHS接收服务(源端,目标端)

解决办法:

检查libdmhs_exec.so的依赖

 find查找一下,发现在/home/dmdba/dmhs/bin/dmoci/libdmoci.so下,但LD_LIBRARY_PATH没有指定到该目录,将libdmoci.so拷贝到LD_LIBRARY_PATH指定的目录下,

 2.3.3源端数据装载

原因:

如果在执行了DDL同步脚本方式时,即创建了相关DMHS系统表及触发器,又开启了系统参数“RLOG_APPEND_SYSTAB_LOGIC”。就会在做初始字典装载这一步出现报错。

解决办法:

将dm.ini系统参数“RLOG_APPEND_SYSTAB_LOGIC”设置为0。重启数据库 即可。

源端执行:

目标端执行: 

 2.3.4开启主库的dmhs发送服务(源端和目标端)

 


参考网址:https://eco.dameng.com/docs/zh-cn/start/dmhs-product-introduction.html

转载本文请备明出处!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值