二、达梦8数据库搭建(主从安装)
系列导航
达梦数据库非常不错的一款国产数据库,读写分离集群应该可以满足绝大多数的应用场景,不过本人体验读写分离集群搭建起来还是有点复杂,官网上分档比较细没有完整的把这个过程放到一起,需要看很多个文档。搭建后做了测试效果完全达到预期非常不错。不多说了看安装步骤。
达梦读写分离环境搭建
一、环境准备
设备信息 |
||||
ip |
名称 |
作用 |
操作系统 |
备注 |
192.168.2.101 |
GRP1_RWW_01 |
主节点 |
CentOS Linux release 7.8.2003 (Core) |
外部ip:192.168.2.101 |
192.168.2.102 |
GRP1_RWW_02 |
从节点 |
CentOS Linux release 7.9.2009 (Core) |
外部ip:192.168.2.102
|
192.168.2.103 |
GRP1_RWW_03 |
从节点 |
CentOS Linux release 7.9.2009 (Core) |
外部ip:192.168.2.103
|
192.168.2.110 |
监视器 |
监控节点 |
CentOS Linux release 7.5.1804 (Core) |
外部ip:192.168.2.110
|
端口规划 |
|||||
实例名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
GRP1_RWW_01 |
32141 |
33141 |
192.168.0.11 |
61141 |
52141 |
GRP1_RWW_02 |
32142 |
33142 |
192.168.0.12 |
61142 |
52142 |
GRP1_RWW_03 |
32143 |
33143 |
192.168.0.13 |
61143 |
52143 |
注:搭集群前先把防火墙都关闭了,否则会出现网络故障导致集群不能正常工作。
二、查看系统信息(四台服务器都执行)
#获取系统位数
getconf LONG_BIT
#查询操作系统 release 信息
cat /etc/redhat-release
#查询系统名称
uname -a
三、创建安装用户(四台服务器都执行)
1. 创建安装用户组 dinstall。
groupadd -g 12349 dinstall
2. 创建安装用户 dmdba。
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
3. 初始化用户密码。
passwd dmdba
注:密码为dmpassword
4. 之后通过系统提示进行密码设置。
注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行
操作。
四、Linux(Unix)查看系统限制(四台服务器都执行)
[dmdba@minio2 root]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 513508
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65535
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
参数 使用限制:
1.data seg size
data seg size (kbytes, -d)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小
将导致数据库启动失败。
2. file size
file size(blocks, -f)
建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化
失败。
3. open files
open files(-n)
建议用户设置为 65536 以上或 unlimited(无限制)。
4.virtual memory
virtual memory (kbytes, -v)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小
将导致数据库启动失败。
如 果 用 户 需 要 为 当 前 安 装 用 户 更 改 ulimit 的 资 源 限 制 , 请 修 改 文 件
/etc/security/limits.conf。
五、检查内存和存储空间(四台服务器都执行)
内存:为了保证 DM 的正确安装和运行,要尽量保证操作系统至少 1GB 的可用内存(RAM)。
如果可用内存过少,可能导致DM安装或启动失败。用户可以使用以下命令检查操作内存:
#获取内存总大小
grep MemTotal /proc/meminfo
#获取交换分区大小
grep SwapTotal /proc/meminfo
#获取内存使用详情
free
存储空间:
存储空间最少安装就要1G,越大越好
临时表空间最少1G越大越好
df -h /tmp
指定安装的目录
Root用户执行
mkdir -p /opt/dm8
[root@minio2 home]# cd /opt
[root@minio2 opt]# chown -R dmdba:dinstall dm8
[root@minio2 opt]# su dmdba
[dmdba@minio4 root]$ DM_INSTALL_TMPDIR=/opt/dm8
[dmdba@minio4 root]$ export DM_INSTALL_TMPDIR
六、检查java环境(四台服务器都执行)
[root@node01 opt]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
[root@node01 opt]# echo $JAVA_HOME
/usr/local/jdk1.8.0_144
[root@minio2 opt]# su dmdba
[dmdba@minio2 opt]$ DM_JAVA_HOME=/usr/local/jdk1.8.0_144
[dmdba@minio2 opt]$ export DM_JAVA_HOME
七、上传安装包关在iso文件(四台服务器都执行)
Root用户操作
上传安装包dm8_20200907_x86_rh7_64_ent.zip到/opt下
[root@minio2 dm8]# unzip dm8_20200907_x86_rh7_64_ent.zip
chown -R dmdba:dinstall dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso
chown -R dmdba:dinstall dm8_20200907_x86_rh7_64_ent_8.1.1.126_ISO_SHA256.txt
[root@minio2 dm8]# mkdir /mnt/cdrom
[root@minio2 dm8]# sudo mount -o loop dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt/cdrom
[dmdba@node01 cdrom]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:C
解压安装程序.........
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 513519
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
可打开文件数过少,建议至少设置为65536或更多。
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (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]:
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1075M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 1315G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1075M
可用空间: 1315G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2021-08-04 12:52:27
[INFO] 安装达梦数据库...
2021-08-04 12:52:28
[INFO] 安装 基础 模块...
2021-08-04 12:52:30
[INFO] 安装 服务器 模块...
2021-08-04 12:52:30
[INFO] 安装 客户端 模块...
2021-08-04 12:52:30
[INFO] 安装 驱动 模块...
2021-08-04 12:52:30
[INFO] 安装 手册 模块...
2021-08-04 12:52:30
[INFO] 安装 服务 模块...
2021-08-04 12:52:31
[INFO] 移动ant日志文件。
java.security.NoSuchAlgorithmException: DES SecretKeyFactory not available
at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:122)
at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:160)
at com.dameng.common.util.StringUtil.getSecretKey(StringUtil.java:561)
at com.dameng.common.util.StringUtil.getValue(StringUtil.java:572)
at com.dameng.common.util.StringUtil.encrypt(StringUtil.java:522)
at com.dameng.install.util.InstallUtil.createInstalledFilesRecord(InstallUtil.java:1575)
at com.dameng.install.cli.MainApplication$2.run(MainApplication.java:415)
2021-08-04 12:52:32
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
[root@node01 opt]# sh /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
安装结束
八、初始化数据库(三台主备服务器上执行) 执行
1、初始化数据库(监视服务器也要做)
[dmdba@minio2 dm8]$ cd /home/dmdba/dmdbms/bin
[dmdba@minio2 bin]$ ./dminit PATH=/opt/dm8/dmdbms
如下为返回结果:
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04
log file path: /opt/dm8/dmdbms/DAMENG/DAMENG01.log
log file path: /opt/dm8/dmdbms/DAMENG/DAMENG02.log
write to dir [/opt/dm8/dmdbms/DAMENG].
create dm database success. 2021-08-04 16:54:20
2、启动数据库(监视服务器也要做)
./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini
出现SYSTEM IS READY表示已经启动完成
然后在末尾输入exit退出。
3、主节点上脱机备份
如果备份过程中出现错误,通过ps -ef | grep
dmap查看dmap服务是否在运行中
如果不在运行中
[dmdba@node01 bin]$ cd /home/dmdba/dmdbms/bin
[dmdba@node01 bin]$ ./DmAPService start
4、使用达梦的脱机备份工具dmrman备份主库
[dmdba@node01 bin]$ ./dmrman ctlstmt="backup database '/opt/dm8/dmdbms/DAMENG/dm.ini' full to backup20210118 backupset '/opt/dm8/dmdbms/DAMENG/backup20210804'"
注:备份成功以后,在/opt/dm8/dmdbms/DAMENG路径下会生成一个backup20210804备份文件夹
5、将备份文件发送到两个备库
scp -r /opt/dm8/dmdbms/DAMENG/backup20210804/192.168.2.102:/opt/dm8/dmdbms/DAMENG
scp -r /opt/dm8/dmdbms/DAMENG/backup20210804/ 192.168.2.103:/opt/dm8/dmdbms/DAMENG
6、分别在两个备库上恢复数据
还原
./dmrman ctlstmt="restore database '/opt/dm8/dmdbms/DAMENG/dm.ini' from backupset '/opt/dm8/dmdbms/DAMENG/backup20210804'"
7、恢复
./dmrman ctlstmt="recover database '/opt/dm8/dmdbms/DAMENG/dm.ini' from backupset '/opt/dm8/dmdbms/DAMENG/backup20210804'"
8、更新db_magic
九、主节点配置192.168.2.101
1、修改dm.ini
vi /opt/dm8/dmdbms/DAMENG/dm.ini
修改如下参数
INSTANCE_NAME = GRP1_RWW_01
PORT_NUM = 32141 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息
2、修改dmmal.ini
vi /opt/dm8/dmdbms/DAMENG/dmmal.ini
将如下内容添加进去:
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_RWW_01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.0.11 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.2.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 32141 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_RWW_02
MAL_HOST = 192.168.0.12
MAL_PORT = 61142
MAL_INST_HOST = 192.168.2.102
MAL_INST_PORT = 32142
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
[MAL_INST3]
MAL_INST_NAME = GRP1_RWW_03
MAL_HOST = 192.168.0.13
MAL_PORT = 61143
MAL_INST_HOST = 192.168.2.103
MAL_INST_PORT = 32143
MAL_DW_PORT = 52143
MAL_INST_DW_PORT = 33143
3、配置dmarch.ini文件
[dmdba@node01 DAMENG]$ pwd
/opt/dm8/dmdbms/DAMENG
[dmdba@node01 DAMENG]$ mkdir arch
vi /opt/dm8/dmdbms/DAMENG/dmarch.ini
将如下内容添加进去
[ARCHIVE_TIMELY1]
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = GRP1_RWW_02 #即时归档目标实例名
[ARCHIVE_TIMELY2]
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = GRP1_RWW_03 #即时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /opt/dm8/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
4、配置dmwatcher.ini文件
vi /opt/dm8/dmdbms/DAMENG/dmwatcher.ini
将如下内容添加进去
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 123456 #守护系统唯一 OGUID 值
INST_INI = /opt/dm8/DAMENG/dmdbms/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
5、开启主库
[dmdba@node01 bin]$ ./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini mount
一直到显示SYSTEM IS READY启动完成。此时不要关闭这个窗口,重新在主服务器上开启一个窗口。
6、登录disql
使用达梦的系统管理员用户SYSDBA登录达梦的disql工具,默认密码为SYSDBA。
[dmdba@node01 bin]$ ./disql SYSDBA/SYSDBA@localhost:32141
#登录成功后,修改OGUID
OGUID号与dmwatcher.ini中的INST_OGUID
保持一致
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(123456);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
7、修改数据库模式
SQL>alter database primary;
修改成功以后,在./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini mount t窗口后输入exit退出
十、备节点配置192.168.2.102
1、修改dm.ini
vi /opt/dm8/dmdbms/DAMENG/dm.ini
修改如下内容:
INSTANCE_NAME = GRP1_RWW_02
PORT_NUM = 32142 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息
2、配置dmmal.ini
将主库的dmmal.ini文件直接拷贝过来
在主库上执行:[dmdba@node01 DAMENG]$ scp -r /opt/dm8/dmdbms/DAMENG/dmmal.ini 192.168.2.102:/opt/dm8/dmdbms/DAMENG/
之后在192.168.2.102主机上查看文件是否拷贝过来,注意看属主和属组
[dmdba@node102 DAMENG]$ ls -l |grep dmmal.ini
-rw-r--r--. 1 dmdba dinstall 1009 8月 4 18:18 dmmal.ini
3、配置dmarch.ini文件
[dmdba@node01 DAMENG]$ pwd
/opt/dm8/dmdbms/DAMENG
[dmdba@node01 DAMENG]$ mkdir arch
vi /opt/dm8/dmdbms/DAMENG/dmarch.ini
将如下内容添加进去
[ARCHIVE_TIMELY1]
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = GRP1_RWW_01 #即时归档目标实例名
[ARCHIVE_TIMELY2]
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = GRP1_RWW_03 #即时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /opt/dm8/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
4、配置dmwatcher.ini文件
vi /opt/dm8/dmdbms/DAMENG/dmwatcher.ini
将主库的dmwatcher.ini文件直接拷贝过来
在主库上执行:
[dmdba@node01 DAMENG]$ scp -r /opt/dm8/dmdbms/DAMENG/dmwatcher.ini 192.168.2.102:/opt/dm8/dmdbms/DAMENG/
之后在192.168.2.102主机上查看文件是否拷贝过来,注意看属主和属组
[dmdba@node102 DAMENG]$ ls -l |grep dmmal.ini
-rw-r--r--. 1 dmdba dinstall 1009 8月 4 18:18 dmmal.ini
5、开启备库
[dmdba@node01 bin]$ cd /home/dmdba/dmdbms/bin
[dmdba@node01 bin]$ ./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini mount
一直到显示SYSTEM IS READY启动完成。此时不要关闭这个窗口,重新在主服务器上开启一个窗口。
6、登录disql
使用达梦的系统管理员用户SYSDBA登录达梦的disql工具,默认密码为SYSDBA。
[dmdba@node01 bin]$ ./disql SYSDBA/SYSDBA@localhost:32142
#登录成功后,修改OGUID
OGUID号与dmwatcher.ini中的INST_OGUID
保持一致
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(123456);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
7、修改数据库模式
SQL>alter database standby;
修改成功以后,在./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini mount t窗口后输入exit退出
十一、备节点配置192.168.2.103
1、修改dm.ini
vi /opt/dm8/dmdbms/DAMENG/dm.ini
修改如下内容:
INSTANCE_NAME = GRP1_RWW_03
PORT_NUM = 32143 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息
2、配置dmmal.ini
将主库的dmmal.ini文件直接拷贝过来
在主库上执行:[dmdba@node01 DAMENG]$ scp -r /opt/dm8/dmdbms/DAMENG/dmmal.ini 192.168.2.103:/opt/dm8/dmdbms/DAMENG/
之后在192.168.2.103主机上查看文件是否拷贝过来,注意看属主和属组
[dmdba@node103 DAMENG]$ ls -l |grep dmmal.ini
-rw-r--r--. 1 dmdba dinstall 1009 8月 4 18:18 dmmal.ini
3、配置dmarch.ini文件
[dmdba@node01 DAMENG]$ pwd
/opt/dm8/dmdbms/DAMENG
[dmdba@node01 DAMENG]$ mkdir arch
vi /opt/dm8/dmdbms/DAMENG/dmarch.ini
将如下内容添加进去
[ARCHIVE_TIMELY1]
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = GRP1_RWW_01 #即时归档目标实例名
[ARCHIVE_TIMELY2]
ARCH_TYPE = TIMELY #即时归档类型
ARCH_DEST = GRP1_RWW_02 #即时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /opt/dm8/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
4、配置dmwatcher.ini文件
vi /opt/dm8/dmdbms/DAMENG/dmwatcher.ini
将主库的dmwatcher.ini文件直接拷贝过来
在主库上执行:
[dmdba@node01 DAMENG]$ scp -r /opt/dm8/dmdbms/DAMENG/dmwatcher.ini 192.168.2.103:/opt/dm8/dmdbms/DAMENG/
之后在192.168.2.103主机上查看文件是否拷贝过来,注意看属主和属组
[dmdba@node103 DAMENG]$ ls -l |grep dmmal.ini
-rw-r--r--. 1 dmdba dinstall 1009 8月 4 18:18 dmmal.ini
5、开启备库
[dmdba@node01 bin]$ ./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini mount
一直到显示SYSTEM IS READY启动完成。此时不要关闭这个窗口,重新在主服务器上开启一个窗口。
6、登录disql
使用达梦的系统管理员用户SYSDBA登录达梦的disql工具,默认密码为SYSDBA。
[dmdba@node01 bin]$ ./disql SYSDBA/SYSDBA@localhost:32143
#登录成功后,修改OGUID
OGUID号与dmwatcher.ini中的INST_OGUID
保持一致
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(123456);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
7、修改数据库模式
SQL>alter database standby;
修改成功以后,在./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini mount t窗口后输入exit退出
十二、配置监视服务器
1、创建日志路径
[dmdba@minio4 dmdbms]$ pwd
/opt/dm8/dmdbms
[dmdba@minio4 dmdbms]$ mkdir log
2、配置dmmonitor.ini
[dmdba@minio4 DAMENG]$ pwd
/opt/dm8/dmdbms/DAMENG
[dmdba@minio4 DAMENG]$ vi dmmonitor.ini
添加如下内容:
MON_DW_Confirm = 1 #确认监视器模式
MON_LOG_PATH = /opt/dm8/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 123456 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.0.11:52141
MON_DW_IP = 192.168.0.12:52142
MON_DW_IP = 192.168.0.13:52143
十三、注册服务
1、使用root用户在主数据库服务器上执行以下命令
[root@node01 dm8]# cd /home/dmdba/dmdbms/script/root
[root@node01 root]# ls
dm_service_installer.sh dm_service_uninstaller.sh root_installer.sh
# ./dm_service_installer.sh -t dmserver -dm_ini /opt/dm8/dmdbms/DAMENG/dm.ini -m mount -p GRP1_RWW_01
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RWW_01.service to /usr/lib/systemd/system/DmServiceGRP1_RWW_01.service.
创建服务(DmServiceGRP1_RWW_01)完成
# ./dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dm8/dmdbms/DAMENG/dmwatcher.ini -p GRP1_RWW_01
创建服务(DmWatcherServiceGRP1_RWW_01)完成
注:注册成功以后会在/home/dmdba/dmdbms/bin目录下生成对应的服务脚本。
2、使用root用户在备库192.168.2.102上执行以下命令
[root@node102 dm8]# cd /home/dmdba/dmdbms/script/root
# ./dm_service_installer.sh -t dmserver -dm_ini /opt/dm8/dmdbms/DAMENG/dm.ini -m mount -p GRP1_RWW_02
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RWW_02.service to /usr/lib/systemd/system/DmServiceGRP1_RWW_02.service.
创建服务(DmServiceGRP1_RWW_02)完成
# ./dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dm8/dmdbms/DAMENG/dmwatcher.ini -p GRP1_RWW_02
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceGRP1_RWW_02.service to /usr/lib/systemd/system/DmWatcherServiceGRP1_RWW_02.service.
创建服务(DmWatcherServiceGRP1_RWW_02)完成
3、使用root用户在备库192.168.2.103上执行以下命令
[root@node03 dm8]# cd /home/dmdba/dmdbms/script/root
# ./dm_service_installer.sh -t dmserver -dm_ini /opt/dm8/dmdbms/DAMENG/dm.ini -m mount -p GRP1_RWW_03
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RWW_03.service to /usr/lib/systemd/system/DmServiceGRP1_RWW_03.service.
创建服务(DmServiceGRP1_RWW_03)完成
# ./dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dm8/dmdbms/DAMENG/dmwatcher.ini -p GRP1_RWW_03
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceGRP1_RWW_03.service to /usr/lib/systemd/system/DmWatcherServiceGRP1_RWW_03.service.
创建服务(DmWatcherServiceGRP1_RWW_03)完成
4、使用root用户在监视器192.168.2.110上执行以下命令
[root@node03 dm8]# cd /home/dmdba/dmdbms/script/root
[root@minio4 root]# ./dm_service_installer.sh -t dmmonitor -monitor_ini /opt/dm8/dmdbms/DAMENG/dmmonitor.ini -p DMSERVER
十四、启动管理集群
启动集群的顺序为:
主库实例—>备库实例—>主库守护进程—>备库守护进程—>监视器服务
1、启动101主库实例
[dmdba@node01 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@node01 bin]$ ./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini
2、启动102备库实例
[dmdba@node102 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@node102 bin]$ ./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini
3、启动103备库实例
[dmdba@node102 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@node102 bin]$ ./dmserver /opt/dm8/dmdbms/DAMENG/dm.ini
4、启动101主库守护进程
[dmdba@node01 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@node01 bin]$ ./dmwatcher /opt/dm8/dmdbms/DAMENG/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
5、启动102备库守护进程
[dmdba@node01 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@node01 bin]$ ./dmwatcher /opt/dm8/dmdbms/DAMENG/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
6、启动103备库守护进程
[dmdba@node01 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@node01 bin]$ ./dmwatcher /opt/dm8/dmdbms/DAMENG/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
7、启动监视服务器110监视服务
[dmdba@minio4 DAMENG]$ cd /home/dmdba/dmdbms/bin
[dmdba@minio4 bin]$ ./dmmonitor /opt/dm8/dmdbms/DAMENG/dmmonitor.ini
[monitor] 2021-08-05 17:16:44: DMMONITOR[4.0] V8
[monitor] 2021-08-05 17:16:44: DMMONITOR[4.0] IS READY.
出现如下截图证明成功了
关闭集群的顺序为:
监视器服务—>备库守护进程—>主库守护进程—>主库实例—>备库实例
资源丰富的的网盘资源:网盘资源大全! 推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!