信创工作中需要采用异构数据库的主备模式,这里介绍达梦与SQLSERVER的主从复制
准备工作
1)设置归档标记和逻辑日志标记。打开DM7服务器配置文件“dm.ini”,设置如下值:
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
2)添加归档配置文件。在“dm.ini”同目录下创建文件“dmarch.ini”
dmhs.hs配置文件
dmhs.hs是DMHS默认的配置文件名,如果需要DDL同步,那么基本的配置示例如下:
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
</base>
<cpt>
<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>
<db_ssl_path></db_ssl_path>
<db_ssl_pwd></db_ssl_pwd>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!--DDL配置项-->
<arch><!--归档清理配置项-->
<clear_interval>600</clear_interval>
<clear_flag>2</clear_flag>
<bak_dir>/dmarch/arch_bak</bak_dir>
</arch>
<send><!-- 发送模块配置 -->
<ip>192.168.10.109</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<trigger>1</trigger><!-- 是否忽略触发器,默认为0,限定值0,1 -->
<constraint>1</constraint><!-- 是否忽略约束,默认为0,限定值0,1 -->
<identity>1</identity>
<net_turns>0</net_turns>
<filter><!--过滤配置项-->
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item>
</enable>
</filter>
<map><!--映射配置项-->
<item>SYSDBA.*==DMHS.*</item>
</map>
</send>
</cpt>
</dmhs>
开启源端服务
配置完成之后,则可以启动DMHS服务:dmhs_server。
例如:
Linux:
./dmhs_serverd start
Windows:
net start dmhs_server
初始装载
初始装载是将源端数据库中的初始数据装载到目的端数据库,使DMHS同步的时刻源和目的端的同步表数据一致。装载前源端DMHS服务和目的端DMHS服务都需要开启。
具体的步骤如下:
1、开启目的端DMHS服务:
./dmhs_serverd start
2、start目的端DMHS:
./dmhs_serverd start
./dmhs_console
DMHS >connect
DMHS >start
3、开启源端DMHS服务:
./dmhs_serverd start
4、初始装载:
./dmhs_serverd start
./dmhs_console
DMHS >connect
DMHS >copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX
开启同步
初始装载完成后,则可以开启同步:
源端DMHS:
./dmhs_console
DMHS >start
关于SQLSERVER
sqlserver需要“建立自动备份维护计划”和“配置ODBC”,否则无法实现对CDC的追踪。