一、前言
之前学习了DM7单库部署,现在记录下DM7 HA部署过程,HA的部署流程与单库类似。
二、环境准备
我用的是基于基于Linux平台(redhat)的DM7,可以去达梦官网下载不同的版本达梦官网下载
三、正式安装
1.在root用户下创建用户和组
groupadd dinstall
mkdir -p /home/dmdba
useradd -g dinstall -m -d /home/dmdba/dm -s /bin/bash dmdba
passwd dmdba
挂载镜像(如果下载的是压缩包,直接解压)
cd /opt/tmp
mount -o loop dm7_20220304_x86_rh6_64_ent_7.6.1.116.iso /mnt
2. 切换到dmdba用户,添加环境变量,修改dmdba用户家目录下.bashrc文件(/home/dmdba/dm/.bashrc)(rh7是 /home/dmdba/dm/.bash_profile )添加
su - dmdba
vim /home/dmdba/dm/.bashrc
export PATH=$PATH:/sbin
export PS1='[\u@\h \w]\$'
source .bashrc
3.创建安装文件目录(根据自己喜好建立)
创建数据、备份、归档、临时路径
mkdir -p /dbdata/dmdata /dbbak/dmbak /dbarch/dmarch /opt/tmp
chown -R dmdba:dinstall /opt/tmp /dbdata /dbbak /dbarch /home/dmdba
chmod -R 777 /opt/tmp
4.修改文件权限
cp /mnt/DMInstall.bin /home/dmdba/dm
chmod -R 777 /home/dmdba/dm/DMInstall.bin
ulimit -n 65536
vi /etc/security/limits.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft core unlimited
dmdba hard core unlimited
5.开始安装
su - dmdba
export DM_INSTALL_TMPDIR=/opt/tmp/
cd /home/dmdba/dm
./DMInstall.bin -i
安装完后请以root系统用户执行命令:
/home/dmdba/dm/dmdbms/script/root/root_installer.sh
6.初始化
切换到dmdba用户下的bin文件中按实际需求修改初始化参数:
cd /home/dmdba/dm/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
初始化完成后:
cp /dbdata/dmdata/DAMENG/dm.ini /home/dmdba/dm/dmdbms/bin/
cp dmarch.ini /dbdata/dmdata/DAMENG/
cp sqllog.ini /dbdata/dmdata/DAMENG/
vi /home/dmdba/dm/dmdbms/bin/dm.ini
HA打开dm.ini以下参数:
HA_INST_CHECK_IP = 172.168.255.131 #Other ha inst ip
HA_INST_CHECK_IP = 11.11.11.1 #Other ha 心跳地址A
HA_INST_CHECK_IP = 10.10.10.1 #Other ha 心跳地址B
HA_INST_CHECK_PORT = 65533 #端口号
7.配置数据库启动脚本
修改安装目录bin下的service_template目录中有个 DmService 脚本:
cd /home/dmdba/dm/dmdbms/bin/service_template
cp DmService /home/dmdba/dm/dmdbms/bin/dmserverd
将脚本中ini配置修改成ini配置文件全路径:
vim /home/dmdba/dm/dmdbms/bin/dmserverd
INI_PATH=/home/dmdba/dm/dmdbms/bin/dm.ini
root 用户下
cp /home/dmdba/dm/dmdbms/bin/dmserverd /etc/init.d/
HA情况下不需要做开启自启,只需要将dmserverd 脚本放在 /etc/init.d/ 目录即可。
启动数据库
cd /home/dmdba/dm/dmdbms/bin
./dmserverd start
或者
service dmserverd start
先停止第一台数据库
service dmserverd stop
HA情况下,到另个节点进行执行,第 1、2、3、4 步骤,然后将数据库打包,发送到另一个节点
打包
cd /home/dmdba/dm/
tar -zcvf dmdbms.tar.gz dmdbms/*
传送
scp -rp dmdbms.tar dmdba@11.11.11.1:/home/dmdba/dm/
另一个节点进行解压
su - dmdba
cd /home/dmdba/dm/
tar -zxvf dmdbms.tar.gz
cd /home/dmdba/dm/dmdbms/bin
vim dm.ini
HA_INST_CHECK_IP = 192.168.255.132 #Other ha inst ip 对端
HA_INST_CHECK_IP = 11.11.11.2 #Other ha inst ip 对端
HA_INST_CHECK_IP = 10.10.10.2 #Other ha inst ip 对端
HA_INST_CHECK_PORT = 65533
安装完后请以root系统用户执行命令:
/home/dmdba/dm/dmdbms/script/root/root_installer.sh
root 用户
cp /home/dmdba/dm/dmdbms/bin/dmserverd /etc/init.d/
8.连接数据库
登入数据库
cd /home/dmdba/dm/dmdbms/bin
./disql sysdba/SYSDBA
查看数据库版本
select * from v$version;
查看归档状态
select arch_mode from v$database;
查看key
select * from v$license;
四、后记
正常情况下只用开启有多路径一端的数据库,如果文中哪里有误,欢迎指出,大家共同交流进步!
社区地址:https://eco.dameng.com