目的:1、将DM6 BOOKSHOP库 PERSON模式下的所有表同步到DM7 RENYUAN模式下
2、将DM6 BOOKSHOP库 SALES模式下除SALESORDER_DETAIL、SALESORDER_HEADER、SALESPERSON三张表外的所有表同步到DM7 SHANGPIN模式下
1检查源库,目的库是否启用归档
cd /opt/dmdba/dmdbms/tool
./manager
数据库右键属性->归档日志
如图为启用
如果没有开启则勾选归档,然后重启数据库生效
开启源端DM6逻辑附加日志,修改dm.ini,配置ENABLE_LOGICAL_DML_LOG=1。
重启数据库后生效。
3检查环境变量
Echo $LD_LIBRARY_PATH
4源端,目的端安装dmhs
chmod 777 dmhs_V3.1.3_dm7_rev95459_rh6_64_veri_20201130.bin
./dmhs_V3.1.3_dm7_rev95459_rh6_64_veri_20201130.bin
源端
目的端:
5ddl同步管理
源端执行dmhs/scripts 目录中的sql语句建表和触发器,这里达梦6是20170508之后的版本,所以选V3。
按照上面的提示修改库名,然后执行。
成功后可以看到触发器
6修改源端配置文件
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>DM6</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>12345</db_port>
<db_name>BOOKSHOP</db_name>
<parse_thr>1</parse_thr>
<idle_time>3000</idle_time>
<ddl_mask>OBJ:OP</ddl_mask>
<dict_dir>/opt/dmhs_dict</dict_dir>
<arch>
<clear_interval>43200</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>192.168.72.139</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>1</trigger>
<constraint>0</constraint>
<identity>1</identity>
<net_turns>1</net_turns>
<filter>
<enable>
<item>PERSON.*</item>
<item>SALES.*</item>
</enable>
<disable>
<item>SALES.SALESORDER_DETAIL</item>
<item>SALES.SALESORDER_HEADER</item>
<item>SALES.SALESPERSON</item>
</disable>
</filter>
<map>
<item>PERSON.*==RENYUAN.*</item>
<item>SALES.*==SHANGPIN.*</item>
</map>
</send>
</cpt>
</dmhs>
执行命令chown -R dmdba:dinstall /opt/dmhs/
7修改目的端配置文件
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>11</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>DM7</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>
<level>0</level>
<exec_mode>1</exec_mode>
<exec_thr>16</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>1000</exec_rows>
<case_sensitive>1</case_sensitive>
<exec_policy>0</exec_policy>
<toggle_case>0</toggle_case>
<commit_policy>1</commit_policy>
<enable_merge>1</enable_merge>
<check_key>0</check_key>
</exec>
</dmhs>
执行命令chown -R dmdba:dinstall /opt/dmhs/
8启动DMHS服务及数据装载
如果安装目录存在 dmhs_cpt.tmp,则删除它
启动两端dmhs服务
cd /opt/dmhs/bin
cp DmhsServiceHSSERVER dmhs_serverd
./dmhs_serverd start
目的端启动执行服务
./dmhs_console
set lang ch
Connect
Start exec
源端数据装载:
./dmhs_console
set lang ch
Connect
装载数据copy 0 “sch.name=’PERSON’” CREATE|INSERT|LSN|DICT
装载数据copy 0 “sch.name=’SALES’” CREATE|INSERT|LSN|DICT
查看目的端/opt/dmhs/bin/log/目录下的dmhs日志是否完成装载
此时也可在目的端的管理工具看到装载过来的表
确认没有错误后,启动源端cpt
./dmhs_console
set lang ch
Connect
Start
查看日志是否正常:
源端日志
目的端日志
也可以通过exec命令查看目的端状态