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
以上部署完成
如需更多资源支持请上达梦技术社区: