准备工作
1.安装dmhs
默认中文
有key的话可以键入2后回车填入key文件路径,否则键入1回车试用
键入1选择标准版足够了,甚至还有些没用到,比如内置数据库。也可以选择3自定义只选取我们需要的
路径,没有特殊要求的话一路回车就行了
2.打开源端dm6的逻辑附加日志
修改dm.ini,配置
ENABLE_LOGICAL_DML_LOG=1
配置BOOKSHOP数据库归档
ALTER DATABASE BOOKSHOP ARCHIVELOG;
alter database BOOKSHOP modify archivedir to '/dbbak/dmarch’;
- 执行支持DDL同步的脚本,在DMHS安装路径下的scripts目录下,名字为ddl_sql_DM6.sql,因为dm6是多库,我们需要同步BOOKSHOP 数据库,修改ddl_sql_DM6.sql,替换所有的‘XXX’为‘BOOKSHOP’后执行该sql文件,相关辅助表和触发器即可创建成功。
倘若我们需要更多支持DDL同步的数据库,将ddl_sql_DM6.sql文件中‘BOOKSHOP ’替换成执行数据库名后再次执行脚本即可。
开始搭建
- 源端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>
<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>数据库名1
<idle_time>1</idle_time>
<ddl_mask>OBJ:OP</ddl_mask>
<dict_dir>./dict</dict_dir>数据字典的目录1
<parse_thr>8</parse_thr>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
<bak_dir></bak_dir>
</arch>
<send>
<ip>192.168.192.174</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>*.*</item>
</enable>
<disable>
<item></item>
</disable>
</filter>
<map>
<item>*.*==BOOKSHOP.*.*</item>
</map>
</send>
</cpt>
</dmhs>
- 目的端dmhs安装目录下的bin目录下放入配置文件dmhs.hs配置文件
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<siteid>2</siteid>
<lang>ch</lang>
</base>
<recv>
<data_port>5346</data_port>
<exec>
<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>SYSTEM</db_name>
<exec_mode></exec_mode>
<exec_thr>8</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>250</exec_rows>
<enable_merge>1</enable_merge>
<trx_split>1</trx_split>
<msg_col_size>8000</msg_col_size>
<exec_policy>2</exec_policy>
<case_sensitive>1</case_sensitive>
<enable_depended>0</enable_depended>
</exec>
</recv>
</dmhs>
- 通过备份还原是源端目的端bookshop 库数据一致
backup database bookshop full to bookshopbak bakfile '/dbbak/dmbak/bookshop.bak';
将生成的备份文件拷贝到目的端,脱机目的端的bookshop 数据库再执行还原操作
ALTER DATABASE bookshop SET OFFLINE;
restore database bookshop full from '/dbbak/dmbak/bookshop.bak';
- 启动目的端dmhs
./dmhs_server dmhs.hs
键入
start exec
5. 启动源端dmhs
./dmhs_server dmhs.hs
清理一下lsn
clear exec lsn 0
6. 装载数据字典和LSN
COPY 0 "SCH.NAME IS NOT NULL" DICT|LSN
源端键入命令
start cpt
开启捕获器
至此同步搭建完成