达梦数据库dm7同构数据库的双向同步

tech2026-06-09  2

同构数据库的双向同步 前面文章已讲过配置 1.1源端dmhs.hs文件配置

[root@gh1 ~]# cat /opt/dmhs/bin/dmhs.hs <?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>DM7</db_type> <db_server>192.168.56.128</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>DM7</db_type> <db_server>192.168.56.128</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>192.168.56.129</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>SOURCE117.*</item> </enable> <disable> <item></item> </disable> </filter> <map> <item>SOURCE117.*==DEST116.*</item> </map> </send> </cpt> </dmhs>

1.2目的端dmhs.hs文件配置

[root@gh2 ~]# cat /opt/dmhs/bin/dmhs.hs <?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>DM7</db_type> <db_server>192.168.56.129</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>DM7</db_type> <db_server>192.168.56.129</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>192.168.56.128</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>DEST116.*</item> </enable> <disable> <item></item> </disable> </filter> <map> <item>DEST116.*==SOURCE117.*</item> </map> </send> </cpt> </dmhs>

1.3启动dmhs服务 双向同步中,装载字典前,一定要先将两端的执行器启动,创建好执行端的辅助表后再装载字典。 1.3.1启动两端服务 此处一定要用exec和cpt分别启动,不能用start命令,start命令后不接cpt或exec会根据配置文件同时启动cpt和exec。

[root@gh1 bin]# ./dmhs_console CSL[INFO]: DMHS控制台工具: V3.1.2-Build(2018.07.30-79055trunc)_64 DMHS >connect 192.168.56.129:5345 CSL[UNKNOW]: 执行成功 DMHS >start exec CSL[UNKNOW]: 执行成功

[root@gh2 bin]# ./dmhs_console CSL[INFO]: DMHS控制台工具: V3.1.2-Build(2018.07.30-79055trunc)_64 DMHS >connect 192.168.56.128:5345 CSL[UNKNOW]: 执行成功 DMHS >start exec CSL[UNKNOW]: 执行成功

1.3.2转载字典

DMHS >start exec CSL[UNKNOW]: 执行成功 DMHS >copy 0 "sch.name='SOURCE117'" dict

DMHS >connect 192.168.56.128:5345 CSL[UNKNOW]: 执行成功 DMHS >copy 0 "sch.name='DEST116'" dict

1.3.3启动cpt服务

DMHS >connect 192.168.56.129:5345 CSL[UNKNOW]: 执行成功 DMHS >start cpt

DMHS >connect 192.168.56.128:5345 CSL[UNKNOW]: 执行成功 DMHS >start cpt

1.3.4装载数据 在双向同步中,如果需要将有数据的一端将数据装载到另外一端,则需要将cpt停止后,进行数据装载。

DMHS >connect 192.168.56.129:5345 DMHS >stop cpt CSL[UNKNOW]: 执行成功 DMHS >copy 0 "sch.name='SOURCE117'" create|insert

装载完成后将装载执行端的dm7的归档日志删除并重启dm7服务器,只保留重启后的归档日志,才能保证过滤掉装载数据的重复。 装载完成后在另外一端需要装载字典

DMHS >connect 192.168.56.128:5345 DMHS> copy 0 "sch.name='DEST116'" dict

完成后再启动dmhs捕获段服务。 start cpt

最新回复(0)