达梦数据库dmhs同步工具部署

1 环境准备规划

    1.1 安装版本信息

安装操作系统:redhat7.9 图形化界面

安装达梦数据库版本:dm8

dmhs版本:dmhs_V4.3.24_dm8_rev146018_rh6_64_20231204_sp10.bin

    1.2 本地盘规划

名称

机器 A(dmhs1

机器 B(dmhs2

备注

数据库安装目录

/home/dmdba/dmdbms

/home/dmdba/dmdbms

数据库安装路径,存放数据库运行日志等信息

数据库备份目录

/dbbak/dmbak

/dbbak/dmbak

用于存放数据库备份文件

数据库归档日志目录

 /dbarch/dmarch

 /dbarch/dmarch

用于存放数据库归档日志

    1.3 网络规划

名称

机器 A(dmhs1

机器 B(dmhs2

备注

对外业务IP

192.168.248.33(网卡1)

192.168.248.34(网卡1)

对外业务IP

10.36.200.33(网卡2

10.36.200.34(网卡2

2 系统初始化

2.1 关闭防火墙和selinux

dmhs1/dmhs2都配置

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  && setenforce 0    

2.2 创建本地yum源

dmhs1/dmhs2都配置

cat <<EOF>>/etc/yum.repos.d/local.repo

[local]

name=local

baseurl=file:///mnt/cdrom

gpgcheck=1

enabled=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

EOF

配置生效

mount  /dev/cdrom    /mnt/cdrom/

2.3 设置主机名

dmhs1配置

hostnamectl set-hostname dmhs1

dmhs2配置

hostnamectl set-hostname dmhs2

2.4 配置固定IP地址

dmhs1配置

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.33   

DNS1=192.168.248.2

GATEWAY=192.168.248.2

dmhs2配置

vim /etc/sysconfig/network-scripts/ifcfg-ens32

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="none"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens32"

DEVICE="ens32"

ONBOOT="yes"

IPADDR=192.168.248.34  

DNS1=192.168.248.2

GATEWAY=192.168.248.2

​​​​​​​2.5 配置hosts

dmhs1/dmhs2都配置

cat <<EOF>>/etc/hosts

#public ip

192.168.248.33  dmhs1

192.168.248.34  dmhs2

EOF

3 安装达梦数据库

3.1 创建相关用户目录

dmhs1/dmhs2都配置

groupadd dmdba

useradd -g dmdba dmdba

echo "123123" | passwd --stdin dmdba

mkdir -p /dbdata/dmdata /dbbak/dmbak /dbarch/dmarch /home/dmdba/dmdbms/ /opt/dm  /mnt/dm 

chown -R dmdba:dmdba  /dbdata/dmdata /dbbak/dmbak /dbarch/dmarch /home/dmdba/dmdbms/ /opt/dm  /mnt/dm

​​​​​​​3.2 root用户下修改资源限制

dmhs1/dmhs2都配置

cat <<EOF>> /etc/security/limits.conf

*   soft    core unlimited

*   hard    core unlimited

dmdba   soft    nofile     65536

dmdba   hard    nofile     65536

dmdba   soft    nproc      10240

dmdba   hard    nproc      10240

dmdba   soft    core       unlimited

dmdba   hard    core       unlimited

EOF

#验证配置是否生效

su - dmdba

ulimit -a

3.3 ​​​​​​​禁用透明大页

透明大页会随机影响性能,因此建议禁用

dmhs1/dmhs2都配置

​​​​​​​3.3.1 临时关闭

echo never > /sys/kernel/mm/transparent_hugepage/enabled

cat /sys/kernel/mm/transparent_hugepage/enabled

修改前

[always] madvise never

修改后

always madvise [never]

​​​​​​​3.3.2 永久关闭

dmhs1/dmhs2都配置

需重启服务器后生效

vi /etc/rc.d/rc.local

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

添加执行权限

chmod +x /etc/rc.d/rc.local

​​​​​​​3.4 上传安装包

dmhs1/dmhs2都配置

用xshell或者winscp上传安装包到系统/opt/dm下

下列以xftp为例

达梦数据库安装包:dm8_20230630_x86_rh6_64.iso

达梦hs安装包:dmhs_V4.3.24_dm8_rev146018_rh6_64_20231204_sp10.bin

授权

chown -R dmdba:dmdba /opt/dm/

chmod 744 /opt/dm/dmhs_V4.3.24_dm8_rev146018_rh6_64_20231204_sp10.bin 

3.5 ​​​​​​​挂载安装数据库

dmhs1/dmhs2都配置

mount -o loop /opt/dm/dm8_20230630_x86_rh6_64.iso /mnt/dm

su - dmdba

source .bash_profile

/mnt/dm/DMInstall.bin -i

------------------------------以下为安装过程选项----------------------------------------------------------

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c   #选择c中文安装

解压安装程序..........

欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n   #选择n后续安装key文件有key可以直接输入绝对路径

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y      #选择是

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:    #默认直接回车如果不是21 中国时区填21

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:   #默认直接回车选择典型安装,典型是包含了服务器和客户端安装,自定义是可选择

所需空间: 1869M

请选择安装目录 [/home/dmdba/dm/dmdbms]:   #按要求安装路径,有特殊要求填入其他路径

可用空间: 68G

是否确认安装路径(/home/dmdba/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:  #默认直接回车Y

安装前小结

安装位置: /home/dmdba/dm/dmdbms

所需空间: 1869M

可用空间: 68G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):

是否确认安装? (Y/y:是 N/n:否):y  

2024-01-08 11:03:48

[INFO] 安装达梦数据库...

2024-01-08 11:03:48

[INFO] 安装 基础 模块...

2024-01-08 11:03:53

[INFO] 安装 服务器 模块...

2024-01-08 11:03:54

[INFO] 安装 客户端 模块...

2024-01-08 11:03:57

[INFO] 安装 驱动 模块...

2024-01-08 11:03:59

[INFO] 安装 手册 模块...

2024-01-08 11:03:59

[INFO] 安装 服务 模块...

2024-01-08 11:03:59

[INFO] 移动日志文件。

2024-01-08 11:04:00

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/home/dmdba/dm/dmdbms/script/root/root_installer.sh

安装结束

------------------------------以上为安装过程选项----------------------------------------------------------

再开一个窗口或者切换到root用户下执行上述命令

su - root

/home/dmdba/dm/dmdbms/script/root/root_installer.sh

​​​​​​​3.6 初始化/注册/启动实例服务

dmhs1/dmhs2都配置

/home/dmdba/dmdbms/bin/dminit INI_FILE=/dbdata/dmdata/DAMENG/dm.ini PATH=/dbdata/dmdata extent_size=16 page_size=32 case_sensitive=y log_size=2048

root用户执行

注册实例服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh  -t dmserver -dm_ini /dbdata/dmdata/DAMENG/dm.ini  -p DMSERVER

启动实例服务

systemctl start DmServiceDMSERVER.service

验证部署是否成功

/home/dmdba/dmdbms/bin/disql SYSDBA/SYSDBA

SELECT * FROM v$parameter WHERE name like '%LENGTH_IN_CHAR%';

4 安装dmhs

mkdir dmhs

/opt/dm/dmhs_V4.3.24_dm8_rev146018_rh6_64_20231204_sp10.bin -i

--------------------下列为安装过程所需选择配置-------------------------

Extract install files..........

1.English(English)

2.Simplified Chinese(简体中文)

Select the language to install[2.Simplified Chinese(简体中文)]:2  ##选择2简体中文

/tmp/DMHSInstall/install.log

1.免费试用达梦数据实时同步

2.使用已申请的Key文件

验证许可证文件[1.免费试用达梦数据实时同步]:2  ##选择2

Key文件路径:/opt/dm/dmhs20240925.key   #填入授权key路径

Key文件限制信息如下:

有效日期:2024-09-25

用户名称:达梦公司产品试用

服务器颁布类型:试用版

发布类型:企业版

Key类型:企业版

授权用户数:无限制

并发连接数:无限制

1.精简版

2.完整版(web客户端)

3.自定义

安装类型[1.精简版]:1    ##按需求选择,本次选择1

1.实时同步软件服务器

2.远程部署工具

3.实时同步软件配置助手

4.手册

所需磁盘空间:540 MB

安装目录: [/home/dmdba/dmhs]

该路径不为空,是否继续安装?[Y or N]y

安装路径可能存在覆盖安装

1.统一部署

2.现在初始化

是否初始化达梦数据实时同步系统[1.统一部署]:1   #选择1

正在安装

default start ...    default finished.

server start ...    server finished.

hs_agent start ...    hs_agent finished.

hsca start ...    hsca finished.

doc start ...    doc finished.

postinstall start ...    postinstall finished.

正在创建快捷方式

安装成功

远程部署工具配置

远程部署工具名称[HsAgent]:   #默认回车

主机Ip(外网)[192.168.248.34](192.168.248.34):192.168.248.34   #填入外网IP地址,如果内网外网两个IP地址的话

远程部署工具管理端口[5456](1000-65535):  #默认回车

内置数据库轮询间隔[3](1-60):  #默认回车

内置数据库IP[]:192.168.248.34  #有内网IP地址填写内网IP,本次我只设置一个IP地址

内置数据库端口[15236](1000-65535):   #默认回车

内置数据库用户名[SYSDBA]: #默认回车

内置数据库密码[SYSDBA]: #默认回车

服务脚本环境变量设置

依赖库路径

提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。

请配置依赖库路径:/home/dmdba/dmhs

远程控制服务

1.自动

2.手动

启动方式:[2.手动]2     #选择2手动

正在创建远程控制服务

达梦数据实时同步V4.0安装完成

更多安装信息,请查看安装日志文件:

/home/dmdba/dmhs/log/install.log

#默认回车结束

--------------------上述为安装过程所需选择配置-------------------------

4.1 修改数据库配置

dmhs1/dmhs2开启归档日志

其中DEST为归档日志存放目录,需要提前创建好,FILE_SIZE为单个归档文件大小,SPACE_LIMIT为归档目录日志目录大小限制(达到限制大小后自动删除历史归档日志文件)

这些修改命令修改的配置文件是dmarch.ini,这些命令执行后可以在配置文件中查看修改信息

ALTER DATABASE MOUNT;

ALTER DATABASE ADD ARCHIVELOG 'TYPE = LOCAL,DEST = /dbarch/dmarch/HSDM,FILE_SIZE = 128,SPACE_LIMIT = 1024';

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

select para_value from v$dm_ini where para_name in ('ARCH_INI');

​​​​​​​4.2 dmhs1/dmhs2开启逻辑日志,配置 DDL辅助表和触发器

开启逻辑日志

SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);

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

​​​​​​​4.3 图形化方式

创建辅助表进入图形化界面,打开管理工具

/home/dmdba/dmdbms/tool/manager

右键点击链接

输入用户密码默认

找到这个sql点击ok

执行这个语句

验证辅助表和触发器是否创建成功

如上是已经创建成功了

也可通过下列这两个语句检查,是否创建了上述两个表

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

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

4.4 ​​​​​​​​​​​​​​源端和目的端配置odbc

创建odbcinst.ini

cat <<EOF>>  /etc/odbcinst.ini

#与odbc.ini中Driver一致

[DM8 ODBC DRIVER]

#描述,无实际参数意义

Description = ODBC DRIVER FOR DM8

#驱动lib包路径

Driver = /home/dmdba/dmdbms/bin/libdodbc.so

EOF

创建odbc.ini

cat <<EOF>> /etc/odbc.ini

[DM8]

#描述,无实际参数意义

Description = DM ODBC DSN

#与odbcinst.ini中[]内名称一致

Driver = DM8 ODBC DRIVER  

SERVER = localhost

UID = SYSDBA

PWD = SYSDBA

TCP_PORT = 5236

EOF

4.5 创建dmhs.hs配置文件

dmhs1源端

vim /home/dmdba/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>

<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.248.34</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>

修改启动脚本家路径配置文件

cp -a /home/dmdba/dmhs/bin/service_template/DmhsService  /home/dmdba/dmhs/bin/dmhs_serverd

vim  /home/dmdba/dmhs/bin/dmhs_serverd

#REPLACE DMHS_HOME path

DMHS_HOME=/home/dmdba/dmhs   ##修改dmhs家目录

#REPLACE program dir

PROG_DIR=$DMHS_HOME/bin  ##修改dmhs启动路径

#REPLACE program config path

CONF_PATH=$DMHS_HOME/bin/dmhs.hs   ##修改配置文件路径

NEED_LIB_PATH=/home/dmdba/dmhs/bin:/home/dmdba/dmhs/hs_agent:/home/dmdba/dmdbms/bin:/home/dmdba/dmhs/db/bin

HS_NLS_LANG="american_america.AL32UTF8"   #设置语言字符集

设置启动dmhs

cp -a /home/dmdba/dmhs/hs_agent/libdmoci.so /home/dmdba/dmhs/bin/libdmoci.so

启动dmhs

/home/dmdba/dmhs/bin/dmhs_serverd start

​​​​​​​dmhs2目的端

vim /home/dmdba/dmhs/bin/dmhs.hs  

修改启动脚本家路径配置文件

cp -a /home/dmdba/dmhs/bin/service_template/DmhsService  /home/dmdba/dmhs/bin/dmhs_serverd

vim  /home/dmdba/dmhs/bin/dmhs_serverd

#REPLACE DMHS_HOME path

DMHS_HOME=/home/dmdba/dmhs   ##修改dmhs家目录

#REPLACE program dir

PROG_DIR=$DMHS_HOME/bin  ##修改dmhs启动路径

#REPLACE program config path

CONF_PATH=$DMHS_HOME/bin/dmhs.hs   ##修改配置文件路径

NEED_LIB_PATH=/home/dmdba/dmhs/bin:/home/dmdba/dmhs/hs_agent:/home/dmdba/dmdbms/bin:/home/dmdba/dmhs/db/bin

HS_NLS_LANG="american_america.AL32UTF8"   #设置语言字符集

设置启动dmhs

cp -a /home/dmdba/dmhs/hs_agent/libdmoci.so /home/dmdba/dmhs/bin/libdmoci.so

启动dmhs

/home/dmdba/dmhs/bin/dmhs_serverd start

/home/dmdba/dmhs/bin/dmhs_console

start exec

​​​​​​​4.6 创建供DMHS软件连接数据库的用户

CREATE TABLESPACE HSEXEC DATAFILE 'HSEXEC.DBF' size 128;

CREATE USER HSEXEC IDENTIFIED by "123123123" DEFAULT TABLESPACE HSEXEC DEFAULT INDEX TABLESPACE HSEXEC;

GRANT VTI TO HSEXEC;

GRANT PUBLIC TO HSEXEC;

GRANT RESOURCE TO HSEXEC;

GRANT DBA TO HSEXEC;

​​​​​​​4.7 dmhs1源端创建测试表

SQL> create table test (a varchar2(10));

SQL> insert into test a values (1);

SQL> commit;

​​​​​​​4.8 启动dmhs1源端

/home/dmdba/dmhs/bin/dmhs_console

#为了初始化日志的起始位置。

clear exec lsn

 #装载数据,配置同步掩码--一次就行

COPY 0 "SCH.NAME='SYSDBA' "CREATE|INSERT|DICT

start cpt

以上部署完成

如需更多资源支持请上达梦技术社区:

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值