注册
dm到dm的dmhs部署
培训园地/ 文章详情 /

dm到dm的dmhs部署

丿神罚彡天尊 2022/12/13 1054 1 0

一、搭建环境

IP	数据库安装路径	实例路径	端口

源端 192.168.137.10 /dm8 /dm8/data/DMHS 5240
目的端 192.168.137.12 /dm8 /dm8/data/DMHS 5240

二、搭建流程

1.在源端、目的端安装DMHS

image.png
image.png

2.编辑环境变量

[root@localhost ~]# vi .bash_profile
image.png

[root@localhost ~]# source .bash_profile

3.在源端、目的端初始化实例

[root@localhost bin]# ./dminit path=/dm8/data db_name=DMHS port_num=5240
image.png

目的端和源端分别前台启动一次
[root@localhost bin]# ./dmserver /dm8/data/DMHS/dm.ini
image.png

4.源端、目的端开启归档和逻辑日志

1)修改dm.ini
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1

2)添加归档配置文件(在dm.ini文件目录下创建dmarch.ini)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/DMHS/arch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 2048 #空间大小限制,0 表示不限制

3)重启数据库,使配置文件生效

4)登陆数据库

5)验证配置正确性
1.检查归档配置的正确性
SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE=‘LOCAL’ AND ARCH_IS_VALID=‘Y’;

2.检查逻辑日志配置的正确性
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = ‘RLOG_APPEND_LOGIC’;

3.检查在线日志
SELECT PATH FROM SYS.V$RLOGFILE;

4.检查 FAST_COMMIT 参数是否为 0(FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响)
select para_value from v$dm_ini where para_name = ‘FAST_COMMIT’;
image.png

5.配置DDL(源端配置)

在源端数据库中以 SYSDBA 用户执行DDL同步脚本,在SYSDBA模式下创建相关DMHS系统表及触发器,并在DMHS配置文件中配置 ddl_mask 参数选项以启用该功能。同步脚本位于 DMHS 安装目录的scripts 子目录下,命名为:ddl_sql_dm8.sql
image.png

不要在disql中执行ddl_sql_dm8.sql,会报错,在DM管理工具中能成功执行脚本
image.png

6.配置dmhs.hs

源端:
<?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>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5240</db_port>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!–DDL配置项–>
<arch><!–归档清理配置项–>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
<dir>/dm8/data/DMHS/arch</dir>
</arch>
<send><!-- 发送模块配置–>
<ip>192.168.137.12</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>
<filter><!–过滤配置项–>
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item>
</enable>
</filter>
<map><!–映射配置项–>
</map>
</send>
</cpt>
</dmhs>

目的端:
<?xml version=“1.0” encoding=“GB2312”?>
<dmhs>
<base>
<lang>ch</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>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5240</db_port>
<db_name></db_name>
<exec_thr>4</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>1000</exec_rows>
</exec>
</dmhs>

7.开启源端和目的端的DMHS服务

[root@localhost home]# cd /opt/dmhs/bin
[root@localhost bin]# ./dmhs_server dmhs.hs
image.png
此时将连接工具语言改为GBK就可解决乱码

8.开启源端和目的端的console

[root@localhost ~]# cd /opt/dmhs/tool
[root@localhost tool]# ./dmhs_console
image.png

此时源端和目的端会自动登陆到服务态
image.png

9.初始装载

connect成功以后,在目的端执行start exec,源端执行clear exec lsn
目的端:
image.png
image.png
源端:
image.png
image.png

在源端进行数据装载
DMHS> copy 0 “sch.name=‘SYSDBA’” dict|create|insert
image.png
image.png

10.开启同步

源端:start cpt
image.png
image.png

目的端:start exec
image.png
image.png

11.建表测试

源端建表插入数据,看是否能在目的端搜索数据。
源端:
image.png

目的端:
image.png

目的端日志文件:
image.png

同步成功

12.注册DMHS服务

到DMHS安装目录的“/scripts/root”子目录下
[root@localhost ~]# cd /opt/dmhs/scripts/root/
[root@localhost root]# ./dmhs_service_installer.sh -t dmhs_server -x /opt/dmhs/bin/dmhs.hs -d /opt/dmhs/bin -p DMHS
image.png

启动服务
[root@localhost bin]# ./DmhsServiceDMHS start
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服