达梦2套主备之间DMHS单向同步

本文详细介绍了DM7数据库主备集群之间的单向同步配置步骤,包括源端和目的端的dm_svc.conf配置,dmhs.hs文件的修改,以及dmhs服务的启动和测试。主要涉及数据库IP地址、端口设置,DMHS软件安装,同步策略配置等关键环节。
摘要由CSDN通过智能技术生成

DM7主备集群到DM7主备集群的单向同步:
前提搭好主备集群
例中数据库端口都是5236
1、按正常顺序停止所有主备集群

源端主备A、B以及目的端主备C、D四台的dm.ini中RLOG_APPEND_LOGIC=1。然后重新启动整个集群。
1.1、DM7目的端两台主备C、D配置dm_svc.conf
C、D都配置dm_svc.conf,在/etc下,两台一样内容一样,添加如下内容:
dm_server=(192.168.3.66:5236,192.168.3.77:5236)–分别是C和D的数据库IP:PORT
login_mode=(1)
switch_time=(3)
switch_interval=(1000)

1.2、DM7源端两台主备A、B配置dm_svc.conf
A、B都配置dm_svc.conf,在/etc下,两台一样内容一样,添加如下内容:
dm_server=(192.168.3.66:5236,192.168.3.77:5236)–分别是A和B的数据库IP:PORT
login_mode=(1)
switch_time=(3)
switch_interval=(1000)

1.3 ABCD都安装dmhs_xxxxx.bin的安装包
第一步 ./dmhs_xxxx.bin -i 命令行安装dmhs软件。
第二步 装好以后打开源端主库A的manager和目的端主库C的manager点文件-打开-选择/opt/dmhs/script下的ddl_sql_dm7.sql并执行

1.4 DM7目的端主库C的dmhs.hs配置文件内容,替换掉/opt/dmhs/bin下面的dmhs.hs

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
    <base>
        <lang>en</lang>
        <mgr_port>5345</mgr_port>
        <ckpt_interval>60</ckpt_interval>
        <siteid>2</siteid>
        <version>2.0</version>
</base>
<exec>
      <recv>
          <data_port>5346</data_port>
      </recv>
      <db_type>dm7</db_type>
      <db_server>dm_server</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>1024</exec_sql>
      <affect_row>0</affect_row>
      <enable_rowid>0</enable_rowid>
      <exec_trx> 5000 </exec_trx>
      <exec_rows>1000</exec_rows>
	  <exec_policy>2</exec_policy>
    </exec>
</dmhs>

1.5 DM7源端主库A的dmhs.hs配置文件内容,替换掉/opt/dmhs/bin下面的dmhs.hs

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<group>1</group>
</base>
<cpt>
<db_type>dm7</db_type>
<db_server>dm_server</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>1</clear_flag>
<bak_dir>/dmarch/arch_bak</bak_dir>
</arch>
<send><!-- 发送模块配置 -->
<ip>192.168.3.66</ip><!-- 这里填写目标端主库C的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>*.*</item>
</enable>
</filter>
<map><!--映射配置项-->
<item>*.*==*.*</item>
</map>
</send>
</cpt>
</dmhs>

dmhs.hs配置文件仅供参考,根据实际情况配置
2. 启动dmhs服务
1)启动两端服务
启动源端主库A和目的端主库C的dmhs服务
步骤:到A和C的hs的软件目录下cd /opt/dmhs/bin

AC都执行 ./dmhs_server 放着,然后另起一个窗口 /opt/dmhs/bin下执行 ./dmhs_console

目的端主库C操作如下

[dmdba@localhost bin]# ./dmhs_console
DMHS >connect
DMHS>start exec
DMHS>clear exec lsn
源端主库A操作如下
[oracle@node1 bin]# ./dmhs_console
DMHS >connect
DMHS>clear exec lsn
DMHS>copy 0 “sch.name is not null” dict
DMHS>start cpt
exit退出dmhs_server
最后:
把A上的/opt/dmhs/bin下的/DICT文件夹、dmhs_cpt.tmp、dmhs.hs分别拷贝到B上。
把C上的dmhs_exe.tmp、dmhs.hs分别拷贝到D上。
最终在ABCD上的/opt/dmhs/bin下面执行./dmhs_serverd start后台启动dmhs_server服务,就可以开始测试同步结果了,比如这会儿在A上新建一个表插入数据在看看BCD有没有数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值