二、达梦8数据库搭建(主从安装)

系列导航

一、达梦8数据库安装(单机)

二、达梦8数据库搭建(主从安装)

三、springboot集成达梦

      达梦数据库非常不错的一款国产数据库,读写分离集群应该可以满足绝大多数的应用场景,不过本人体验读写分离集群搭建起来还是有点复杂,官网上分档比较细没有完整的把这个过程放到一起,需要看很多个文档。搭建后做了测试效果完全达到预期非常不错。不多说了看安装步骤。

达梦读写分离环境搭建

一、环境准备

设备信息

ip

名称

作用

操作系统

备注

192.168.2.101

GRP1_RWW_01

主节点

CentOS Linux release 7.8.2003 (Core)

外部ip:192.168.2.101  
内部ip:192.168.0.11

192.168.2.102

GRP1_RWW_02

从节点

CentOS Linux release 7.9.2009 (Core)

外部ip:192.168.2.102  
内部ip:192.168.0.12

192.168.2.103

GRP1_RWW_03

从节点

CentOS Linux release 7.9.2009 (Core)

外部ip:192.168.2.103  
内部ip:192.168.0.13

192.168.2.110

监视器

监控节点

CentOS Linux release 7.5.1804 (Core)

外部ip:192.168.2.110  
内部ip:192.168.0.110
(配置中只用到内部ip)

 

端口规划

实例名 

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!
posted @ 2021-08-11 13:53  万笑佛  阅读(1561)  评论(0编辑  收藏  举报