DMHS软件的安装源端因为需要捕获产生的数据,所以必须要和源端数据库部署在同一台机器上,目的端可以不用部署在和目的端数据库同一台机器上,以下演示为了方便,源端DMHS软件和源端数据库部署在同一台机器上,目的端DMHS软件和目的端数据库部署在同一台机器上

1.分别在源端机器和目的端机器上安装DM数据库软件,安装目录为/home/dmdba/dmdbms

2.分别在源端机器和目的端机器上初始化一个单机实例,实例目录为/dmdata/dmdb

3.分别在源端机器和目的端单机实例上开启归档,归档文件存放路径为/dmdata/dmarch/arch

4.在源端数据库上创建用于同步的用户,当然也可以直接使用默认的SYSDBA用户,如果使用默认的SYSDBA用户则跳过此步骤

create user DMHS identified by "DMHS1234" default tablespace DMHS;

grant "RESOURCE","PUBLIC" to "DMHS";

grant SELECT ANY TABLE to "DMHS";

5.在源端机器和目的端机器上分别安装DMHS软件,安装目录为/home/dmhs

6.在源端数据库上执行ddl触发器脚本,脚本位于DMHS安装目录scripts下,disql或者图形化管理工具连接数据库,执行ddl_sql_dm8.sql脚本,新增DDL触发器

7.在目的端上添加目的端执行器配置文件DMHS.HS

<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs>
    <base>
        <lang>ch</lang>
        <mgr_port>5345</mgr_port>
TEST_DEST</name>
        <ckpt_interval>60</ckpt_interval>
        <siteid>6</siteid>
        <version>2.0</version>
    </base>
    <exec>
        <recv>
            <mgr_port>5345</mgr_port>
            <data_port>5346</data_port>
        </recv>
        <enable>1</enable>
        <name>exec</name>
DM8</db_type>
目标端ip</db_server>
DMHS</db_user>
DMHS1234</db_pwd>
        <db_port>5236</db_port>
        <exec_thr>8</exec_thr>
        <exec_policy>2</exec_policy>
        <save_mask>EXEC:ROLLBACK:PROLLBACK</save_mask>
        <save_max_size>4096</save_max_size>
    </exec>
</dmhs>
8.在源端机器上添加源端捕获器配置文件DMHS.HS
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs>
    <base>
        <lang>ch</lang>
        <mgr_port>5345</mgr_port>
TEST_SRC</name>
        <ckpt_interval>60</ckpt_interval>
        <siteid>10</siteid>
        <version>2.0</version>
        <group>1</group>
    </base>
    <cpt>
        <enable>1</enable>
        <name>cpt</name>
DM8</db_type>
源端ip</db_server>
DMHS</db_user>
DMHS1234</db_pwd>
        <db_port>5236</db_port>
        <idle_time>300</idle_time>    <ddl_mask>TABLE:VIEW:PROCEDURE:FUNCTION:INDEX:CHECK:SEQUENCE:TYPE:SYNONYM:OP:REC</ddl_mask>
        <check_date>0</check_date>
        <arch>
            <clear_flag>0</clear_flag>
            <clear_interval>600</clear_interval>
        </arch>
        <send>
目的端ip</ip>
            <mgr_port>5345</mgr_port>
            <data_port>5346</data_port>
            <filter>
                <enable>
*</item>
                </enable>
            </filter>
        </send>
    </cpt>
</dmhs>
9.启动目的端DMHS服务并且开启执行器
--xshell登陆目的端服务器
cd /home/dmdba/dmhs/bin
./dmhs_server /home/dmdba/dmhs/bin/dmhs.hs   (启动目的端dmhs服务)
./dmhs_console   (打开控制工具)
connect (这里ip是127.0.0.1,管理端口是默认的5345,所以ip和port都可以省略)
start exec  (启动执行器)
10.启动源端DMHS服务并且开启捕获器
--xshell登陆源端服务器
cd /home/dmdba/dmhs/bin
./dmhs_server /home/dmdba/dmhs/bin/dmhs.hs   (启动源端dmhs服务)
./dmhs_console   (打开控制工具)
connect
clear exec lsn
copy 0 "sch.name='DMDBA'" CLEAR|DICT
copy 0 "sch.name='DMDBA'" CREATE|INSERT
start cpt

11.测试

使用图形化管理工具或者disql工具连接源端数据库,在DMDBA模式下创建一张表并插入一些数据,然后验证目的端库下是否有数据同步过来了

zabbix达梦 达梦dmhs_数据

zabbix达梦 达梦dmhs_zabbix达梦_02

 

删除源端数据库DMDBA模式下TABLE_1表中的部分数据,再连接到目的端数据库中,确认DMDBA模式TABLE_1表中的数据是否也同步删除了

zabbix达梦 达梦dmhs_sql_03

zabbix达梦 达梦dmhs_zabbix达梦_04