DMHS部署(DM到DM详细版)

一、DMHS的安装

1.1主机规划

节点主机
源端单节点1192.168.11.130
目的端节点2(灾备库)192.168.11.131

1.2关闭防火墙

查看防火墙状态,如果显示为active,需要关闭防火墙,禁用则开机不启动防火墙。

systemctl status firewalld.service  #查看防火墙状态
systemctl stop firewalld.service  #临时关闭防火墙
systemctl disable firewalld.service  #开机不自启防火墙

关闭SELinux,查看是否开启了SELinux,如果显示为Enforcing,需要改为Disabled,再重启系统使配置生效。

getenforce
vi /etc/selinux/config
进入文件后修改 SELINUX = disabled
保存退出文件
reboot

1.3DMHS的安装

以下内容在两个节点都需要执行,上传DMHS的安装包到Linux,使用dmdba用户进行安装
安装包:dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

安装包百度网盘链接:https://pan.baidu.com/s/1i8FpobP1AqV81-we9aYlag?pwd=2afi
提取码:2afi

修改可执行文件权限后执行安装程序

chmod +x dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

./dmhs_V4.1.48_pack4_dm8_rev104804_rh6_64_veri_20211228.bin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此DMHS安装完成,环境安装路径为/home/dmdba/dmhs

1.4 安装ODBC(两台虚拟机)

使用root用户执行以下安装命令

yum -y install unixODBC

odbcinst -j  #查看配置文件路径

在这里插入图片描述
修改这两个配置文件,添加下列内容:

vim /etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /home/dmdba/dm8/bin/libdodbc.so

在这里插入图片描述

vim /etc/odbc.ini

添加如下内容:

[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

测试连接
使用 dmdba 用户执行 isql 测试连接是否正常:

isql dm8 -v

在这里插入图片描述

二、数据库准备工作

2.1新建归档

使用SYSDBA连接登录数据库执行以下语句开启归档日志。其中DEST为归档日志存放目录,需要提前创建好,FILE_SIZE为单个归档文件大小,SPACE_LIMIT为归档目录日志目录大小限制.

./disql SYSDBA/SYSDBA:5236  #进数据库
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/home/dmdba/dmarch/DMHS,TYPE=LOCAL,SPACE_LIMIT=0';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
select para_value from v$dm_ini where para_name in ('ARCH_INI');

在这里插入图片描述

2.2开启逻辑日志

使用SYSDBA用户连接登录数据库执行以下语句:

SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);
select para_value from v$dm_ini where para_name in ('RLOG_APPEND_LOGIC');

在这里插入图片描述

2.3配置DDL辅助表和触发器

使用SYSDBA连接登录数据库执行DMHS安装目录下script子目录的“ddl_sql_dm8.sql”脚本。(可以使用disql连接,使用"start /xx/xx.sql"直接执行该脚本,但建议使用DM管理工具连接的数据库直接复制SQL脚本内容到查询框执行)

在这里插入图片描述
执行完成后,使用以下SQL语句查询辅助表是否创建成功

select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';

执行以下SQL语句查询触发器是否创建成功:

select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';

查询结果如下图,共9个辅助表,4个触发器

在这里插入图片描述

三、配置源端和目的端

3.1目的端

在DMHS安装目录下的bin子目录,新建dmhs.hs配置文件

cd /home/dmdba/hsdm/bin
vim dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>

 <base>    <!-- 管理模块的基本配置 -->
    <lang>en</lang>    <!-- 语言选项,ch 为中文,en 为英文 -->
    <mgr_port>5345</mgr_port>    <!-- 管理端口号,默认为5345-->
    <ckpt_interval>60</ckpt_interval>    <!-- 检查点间隔,默认60 -->
    <siteid>2</siteid>    <!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 -->
    <version>2.0</version>
</base>

<exec>    <!-- 执行模块的基本配置 -->
  <recv>
    <data_port>5346</data_port>    <!-- 当数据传递采用网络直连时,需要配置该参数,表明同步数据从该端口号获取。 -->
  </recv>
  <db_type>dm8</db_type>    <!-- 目标端数据库类型 -->
  <db_server>192.168.11.131</db_server>    <!-- 目标端数据库服务名或IP -->
  <db_user>SYSDBA</db_user>    <!-- 目标端数据库用户 -->
  <db_pwd>SYSDBA</db_pwd>    <!-- 用户的密码 -->
  <db_port>5236</db_port>    <!-- 目标端数据库端口 -->
  <db_name></db_name>    <!-- 默认数据库名,默认为空串(只针对dm6有用)-->
  <char_code>PG_GB18030</char_code>
  <exec_thr>4</exec_thr>    <!-- 执行线程个数,只有当 exec_mode 为 1 时才会生效!默认为1 -->
  <exec_sql>1024</exec_sql>    <!-- SQL 缓存大小,默认为 512M -->
  <exec_trx> 5000 </exec_trx>    <!-- 事务缓存个数,默认为 5000 -->
  <exec_rows>1000</exec_rows>    <!-- 批量绑定行数,默认为 250 -->
 </exec>
</dmhs>

启动目的端

./dmhs_server dmhs.hs
start exec

在这里插入图片描述

3.2源端

在DMHS安装目录下的bin子目录,新建dmhs.hs配置文件

cd /home/dmdba/dmhs/bin
vim 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>
<version>2.0</version>
 </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>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>0</clear_flag>
 </arch>
 <send><!-- 发送模块配置 -->
 <ip>192.168.11.131</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.*==SYSDBA.*</item>
 </map>

 </send>
 </cpt>
</dmhs>

启动源端之前建测试表

create table a(
id int,
name varchar(255)
);

insert into a values(1,'john');

启动源端(bin目录下):

./dmhs_server dmhs.hs 
clear exec lsn #为了初始化日志的起始位置。
COPY 0 “ SCH.NAME=’SYSDBA’ ” CREATE|INSERT|DICT #装载数据,配置同步掩码--一次就行
start cpt

在这里插入图片描述
显示如上界面表示启动成功

去目的端检查数据是否从源端同步到了目的端:
在这里插入图片描述
DM到DM的DMHS部署完成!

四、问题

4.1源端缺少依赖文件

在这里插入图片描述
将以下libdmoci.so文件copy到dmhs/bin目录下
在这里插入图片描述

4.2源端可以同步数据,但是启动有如下警告

在这里插入图片描述
应该是DMHS安装包太旧了,换个新的release.rar替代dmhs下的bin目录

上传后解压文件

rar x release.rar

对于.rar要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载

可从http://www.rarsoft.com/download.htm下载RAR 5.50 for Linux

然后安装:

tar -xzvf rarlinux-x64-612.tar.gz
cd rar
make

4.3换了release目录后,启动源端,提示没有key文件

在这里插入图片描述
将dmhs.key文件上传到dmhs的release(我改名了叫bin3)目录下

在这里插入图片描述
如上错误是我防火墙没管好导致的,防火墙被锁定了,可以重开后关闭。就能解决以上问题。

执行命令,即可实现取消firewalld的锁定

systemctl unmask firewalld  #取消锁定

systemctl status firewalld.service  #查看防火墙状态
systemctl stop firewalld.service  #临时关闭防火墙
systemctl disable firewalld.service  #开机不自启防火墙

在我第二次部署同样遇到以上的问题,这一次不是防火墙的问题,而是源端dmhs.hs文件中的发送模块配置的IP配置成了源端的,应该配置目的端的IP。

以上内容如有误,欢迎交流,我会继续完善!


达梦在线服务平台:https://eco.dameng.com/

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值