企业落地,达梦集群部署

Dm主备集群部署

部署环境

鲲鹏920-麒麟V10

版本包

dm-8.0.zip

部署用户

普通用户(需要root权限操作

部署方式

集群

注意事项

该部署需要切换root用户操作

1. 准备工作

1.1创建普通用户

# 创建用户组

sudo groupadd dinstall -g 2025

# 创建普通用户

sudo useradd -g dinstall dmdba -u 2025

sudo passwd dmdba

自定义输入密码

dmdba@2024

# 赋权指定文件夹

sudo chown dmdba:dinstall /mnt/dm/ -R

sudo chmod 777 /mnt/dm/ -R

1.2 永久修改limits.conf

##编辑 limits.conf 文件

root用户下操作

[root@~]# vim /etc/security/limits.conf

##在最后面添加以下内容

* soft nproc 65536

* hard nproc 65536

* soft nofile 65536

* hard nofile 65536

dmdba soft      nice       0

dmdba hard      nice       0

dmdba soft      as         unlimited

dmdba hard      as         unlimited

dmdba soft      fsize      unlimited

dmdba hard      fsize      unlimited

dmdba soft      nproc      65536

dmdba hard      nproc      65536

dmdba soft      nofile     65536

dmdba hard      nofile     65536

dmdba soft      core       unlimited

dmdba hard      core       unlimited

dmdba soft      data       unlimited

dmdba hard      data       unlimited

#切换用户验证配置是否生效

[root@~]# su - dmdba

[dmdba@~]# ulimit -a ## 确认是否生效

1.4 关闭防火墙

root用户下操作

# 查看防火墙状态

firewall-cmd --state

执行关闭防火墙,禁用防火墙开机自启

sudo systemctl stop firewalld

sudo systemctl disable firewalld

再次查看状态

2、集群规划参考

A 机器

B 机器

IP地址

162.30.*.220

162.30.*.221

实例名

GRP1_RT_01

GRP1_RT_02

实例端口

5236

5236

MAL 端口

5336

5336

MAL 守护进程端口

5436

5436

守护进程端口

5536

5536

OGUID

45331

45331

守护组

GRP1

GRP1

安装目录

/mnt/dm/dmdbms

/mnt/dm/dmdbms

实例目录

/mnt/dm/dmdbms/data/

/mnt/dm/dmdbms/data/

归档上限

51200

51200

确认监视器 IP 为 162.30.*.220。

说明:具体规划及部署方式以现场环境为准。

请根据实际选择空间大的路径,在安装时配置,所有路径为了简便可以进行直接替换,例如A机器的路径可以直接使用实际路径替换本文的/mnt/dm/dmdbms,B机器的路径可以使用实际路径替换本文的/mnt/dm/dmdbms。

2.1集群架构

搭建的主备集群架构如下图:

2.2切换模式说明

故障切换方式

dmarch

dmwatcher

dmmonitor

监视器要求

故障手动切换

ARCH_WAIT_APP
LY=0

DW_MODE=
MANUAL

MON_DW_CON
FIRM=0

1、配置手动切换:集群各节点的 bin 目录中,存放非确认监视器配置文件。

故障自动切换

ARCH_WAIT_APP
LY= 0

DW_MODE=
AUTO

MON_DW_CON
FIRM=1

1、配置手动切换:集群各节点的 bin 目录中,存放非确认监视器配置文件。
2、配置自动切换:在确认监视器上(非集群节点),存放确认监视器配置文件,并注册后台自启服务。

ARCH_WAIT_APPLY 参数,设置为 0:高性能模式;设置为 1:事务一致模式。

故障手动切换情境下 ARCH_WAIT_APPLY 只能为 0。故障自动切换情境下 ARCH_WAIT_APPLY 可以为 0,也可以为 1。

ARCH_WAIT_APPLY 参数设置的判断依据为业务是否要查询备机最新数据。如果需要,则配置为 1(较大性能衰减);如果不需要,则配置为 0。

3、dm集群安装

在每一台机器上进行安装,注意根据需要改为空间大的安装路径。

# 切换普通用户

su - dmdba

#进入文件夹

cd /mnt/dm

#将安装包dm-8.0.zip放入该路径下

#解压

unzip dm-8.0.zip

3.1 安装

#进入dm-8.0目录

cd /mnt/dm/dm-8.0

确保文件具有执行权限

为文件添加执行权限:

chmod +x DMInstall.bin

  1. 执行以下命令进行命令行安装:

        /mnt/dm/dm-8.0/DMInstall.bin -i

  1. 选择安装语言

根据系统配置选择相应语言,输入c选项,回车进行下一步。如下所示:

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c

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

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

3)验证 key 文件

可以选择是否输入 Key 文件路径。不输入则进入下一步安装,输入 Key 文件路径,安装程序将显示 Key 文件的详细信息,如果是合法的 Key 文件且在有效期内,可以继续安装。如下所示:

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:N

4)输入时区

可以选择的时区信息。如下所示:

是否设置时区? (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

5)选择安装类型

数据库软件安装程序提供四种安装方式:“典型安装”、“服务器安装”、“客户端安装”和“自定义安装”,用户可根据实际情况灵活地选择。如下所示:

典型安装包括:服务器、客户端、驱动、用户手册、数据库服务。
服务器安装包括:服务器、驱动、用户手册、数据库服务。
客户端安装包括:客户端、驱动、用户手册。
自定义安装包括:用户根据需求勾选组件,可以是服务器、客户端、驱动、用户手册、数据库服务中的任意组合。
生产环境可以根据实际需求选择,一般情况下选择"典型安装"即可。

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:1

所需空间: 2201M

6)选择安装路径

输入数据库软件的安装路径,不输入则使用默认路径,默认路径为 $HOME/dmdbms (如果安装用户为 root ,则默认安装路径为/opt/dmdbms ,但不建议使用 root 系统用户来安装)。注意根据需要改为空间大的路径,例如改为/data/dmdbms ,安装程序就会在data路径下创建dmdbms文件夹并安装。

直接按回车即可。

如下所示:

请选择安装目录 [/mnt/dm/dmdbms]:

可用空间: 420G

当安装进度完成时将会弹出对话框,提示使用 root 系统用户执行相关命令。用户可根据对话框的说明完成相关操作,之后可关闭此对话框,点击“完成”按钮结束安装。如下所示:

root用户下操作:

[dmdba@~]# su root

密码:<输入密码>

[root@~]# /mnt/dm/dmdbms/script/root/root_installer.sh

3.2 集群搭建

3.2.1机器A

机器A的安装目录为/mnt/dm/dmdbms,可直接用实际地址全文替换。

切换回dmdba用户

在root用户下输入exit

或直接切换dmdba用户

su dmdba

进入安装目录

cd /mnt/dm/dmdbms/bin

./dminit PATH=/mnt/dm/dmdbms/data/ INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CASE_SENSITIVE=0 LENGTH_IN_CHAR=1

(备注:INSTANCE_NAME不需要与服务器的域名一致,可以根据需求自定义,长度必须小于 16 个字符,只能包含字母、数字、下划线(_)或连字符(-),且不能以数字开头)

3.2.1.1启动前台实例服务(不是后台运行,启动后后面操作在新的ssh窗口进行

cd /mnt/dm/dmdbms/bin

./dmserver /mnt/dm/dmdbms/data/DAMENG/dm.ini

3.2.1.2启用dmap服务(开启新的ssh窗口,前面启动的服务不要停)

开启新ssh窗口后记得使用dmdba用户

su dmdba

进入dm安装路径下的执行路径

cd /mnt/dm/dmdbms/bin/

启动dmap服务

./dmap

如果出现如下报错,需先停止自动启用的dmap服务

ps aux|grep dmap

找到dmap的PID

然后

Kill 此PID

再启用dmap服务

./dmap

3.2.1.3开启归档(开启新的ssh窗口,前面启动的服务不要停)

开启新ssh窗口后记得使用dmdba用户

su dmdba

进入dm安装路径下的执行路径

cd /mnt/dm/dmdbms/bin/

连接数据库服务(端口默认为5236)

./disql SYSDBA/SYSDBA@127.0.0.1:5236

在sql命令行中顺序执行以下语句:

ALTER DATABASE MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/mnt/dm/dmdbms/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';

ALTER DATABASE OPEN;

#备份数据

BACKUP DATABASE BACKUPSET '/mnt/dm/dmdbms/data/DAMENG/bak/BACKUP_FILE';

#修改 dm.ini

SP_SET_PARA_VALUE (2,'PORT_NUM',5236);

SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);

SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);

SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);

SP_SET_PARA_VALUE (2,'MAL_INI',1);

SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

在sql命令行执行完以上语句后输入exit回车退出

关闭dmap服务,在启动dmap的ssh窗口输入exit回车退出

关闭前台实例服务,在启动前台实例服务的ssh窗口输入exit回车退出

3.2.1.4 修改dmarch.ini

dmdba用户操作

备份原来的dmarch.ini为dmarch.ini.bak

mv /mnt/dm/dmdbms/data/DAMENG/dmarch.ini /mnt/dm/dmdbms/data/DAMENG/dmarch.ini.bak

然后新建dmarch.ini

vi /mnt/dm/dmdbms/data/DAMENG/dmarch.ini

配置以下内容:

ARCH_WAIT_APPLY            = 0   #0:高性能 1:事务一致

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /mnt/dm/dmdbms/data/DAMENG/arch/  #本地归档存放路径

ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

ARCH_DEST                = GRP1_RT_02  #实时归档目标实例名

3.2.1.5 创建dmmal.ini

dmdba用户操作

vi /mnt/dm/dmdbms/data/DAMENG/dmmal.ini

如没有其他特定修改,只需修改黄色部分的ip即可

MAL_CHECK_INTERVAL         = 10  #MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 链路断开的时间

MAL_TEMP_PATH              = /mnt/dm/dmdbms/data/malpath/  #临时文件目录

MAL_BUF_SIZE               = 512  #单个 MAL 缓存大小,单位 MB

MAL_SYS_BUF_SIZE           = 2048  #MAL 总大小限制,单位 MB

MAL_COMPRESS_LEVEL         = 0  #MAL 消息压缩等级,0 表示不压缩

[MAL_INST1]

MAL_INST_NAME            = GRP1_RT_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致

MAL_HOST                 = 162.30.*.220  #MAL 系统监听 TCP 连接的 IP 地址

MAL_PORT                 = 5336  #MAL 系统监听 TCP 连接的端口

MAL_INST_HOST            = 162.30.*.220   #实例的对外服务 IP 地址

MAL_INST_PORT            = 5236  #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致

MAL_DW_PORT              = 5436  #实例对应的守护进程监听 TCP 连接的端口

MAL_INST_DW_PORT         = 5536  #实例监听守护进程 TCP 连接的端口

[MAL_INST2]

MAL_INST_NAME            = GRP1_RT_02

MAL_HOST                 = 162.30.*.221 #机器B的IP

MAL_PORT                 = 5336

MAL_INST_HOST            = 162.30.*.221

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT         = 5536

3.2.1.6 创建 dmwatcher.ini

dmdba用户操作

vi /mnt/dm/dmdbms/data/DAMENG/dmwatcher.ini

[GRP1]

DW_TYPE                  = GLOBAL  #全局守护类型

DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切

DW_ERROR_TIME            = 20  #远程守护进程故障认定时间

INST_ERROR_TIME          = 20  #本地实例故障认定时间

INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间

INST_OGUID               = 45331  #守护系统唯一 OGUID 值

INST_INI                  = /mnt/dm/dmdbms/data/DAMENG/dm.ini  #dm.ini 文件路径

INST_AUTO_RESTART        = 1  #打开实例的自动启动功能

INST_STARTUP_CMD         = /mnt/dm/dmdbms/bin/dmserver  #命令行方式启动

RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

3.2.1.7 拷贝备份文件

该操作前需要先在B机器上提前初始化实例,见3.2.2.1,初始化完成后请继续返回往下操作

否则会提示以下截图,没有/mnt/dm/dmdbms/data/DAMENG/bak这个路径

##拷贝备份文件到 B 机器

scp -r /mnt/dm/dmdbms/data/DAMENG/bak/BACKUP_FILE dmdba@162.30.*.221:/mnt/dm/dmdbms/data/DAMENG/bak

其中:

/mnt/dm/dmdbms为机器A的安装目录

162.30.*.221为机器B的IP

/mnt/dm/dmdbms为机器B的安装目录

3.2.1.8 注册服务

root用户下操作

/mnt/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /mnt/dm/dmdbms/data/DAMENG/dm.ini -m mount

/mnt/dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /mnt/dm/dmdbms/data/DAMENG/dmwatcher.ini

若要删除自启,可利用如下方式:

/mnt/dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceGRP1_RT_01

/mnt/dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher

3.2.2 机器B

机器B的安装目录为/mnt/dm/dmdbms,可直接用实际地址全文替换。

3.2.2.1 初始化实例

如已经在机器A拷贝备份文件时进行了初始化机器B的实例操作,就不需要再初始化了。

dmdba用户操作

/mnt/dm/dmdbms/bin/dminit PATH=/mnt/dm/dmdbms/data/ INSTANCE_NAME=GRP1_RT_02 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CASE_SENSITIVE=0 LENGTH_IN_CHAR=1

成功的初始化,如果启用时报错找不到libdmnsort.so文件,如下截图,则调整用户下的环境变量文件 .bashrc

vim ~/.bashrc

添加以下环境变量

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/mnt/dm/dmdbms/bin"

export DM_HOME="/mnt/dm/dmdbms"

保存后刷新

source ~/.bashrc

再执行初始化实例操作

3.2.2.2 启用dmap服务

dmdba用户操作

进入dm安装路径下的执行路径

cd /mnt/dm/dmdbms/bin/

启动dmap服务

./dmap

如果出现如下报错,需先停止自动启用的dmap服务

ps aux|grep dmap

找到dmap的PID

然后

Kill 此PID

再启用dmap服务

./dmap

3.2.2.3 恢复数据(开启新的ssh窗口,前面启动的服务不要停)

开启新ssh窗口后记得使用dmdba用户

su dmdba

执行以下三条语句

/mnt/dm/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/mnt/dm/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/mnt/dm/dmdbms/data/DAMENG/bak/BACKUP_FILE'"

/mnt/dm/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/mnt/dm/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/mnt/dm/dmdbms/data/DAMENG/bak/BACKUP_FILE'"

/mnt/dm/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/mnt/dm/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

关闭dmap服务,在启动dmap的ssh窗口输入exit回车退出

3.2.2.4 替换 dmarch.ini

若无文件新建即可

vi /mnt/dm/dmdbms/data/DAMENG/dmarch.ini

添加以下内容:

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /mnt/dm/dmdbms/data/DAMENG/arch/  #本地归档存放路径

ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

ARCH_DEST                = GRP1_RT_01  #实时归档目标实例名

3.2.2.5 配置 dm.ini

vi /mnt/dm/dmdbms/data/DAMENG/dm.ini

修改如下:

INSTANCE_NAME  = GRP1_RT_02

PORT_NUM = 5236                               #数据库实例监听端口

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 次的日志重演信息

如没有其他特殊改动,仅需要找到标黄部分的配置将0改为1即可。

3.2.2.6 创建 dmmal.ini

vi /mnt/dm/dmdbms/data/DAMENG/dmmal.ini

添加以下内容

MAL_CHECK_INTERVAL         = 10  #MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 链路断开的时间

MAL_TEMP_PATH              = /mnt/dm/dmdbms/data/malpath/  #临时文件目录

MAL_BUF_SIZE               = 512  #单个 MAL 缓存大小,单位 MB

MAL_SYS_BUF_SIZE           = 2048  #MAL 总大小限制,单位 MB

MAL_COMPRESS_LEVEL         = 0  #MAL 消息压缩等级,0 表示不压缩

[MAL_INST1]

MAL_INST_NAME            = GRP1_RT_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致

MAL_HOST                 = 162.30.*.220 #MAL 系统监听 TCP 连接的 IP 地址

MAL_PORT                 = 5336  #MAL 系统监听 TCP 连接的端口

MAL_INST_HOST            = 162.30.*.220   #实例的对外服务 IP 地址

MAL_INST_PORT            = 5236  #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致

MAL_DW_PORT              = 5436  #实例对应的守护进程监听 TCP 连接的端口

MAL_INST_DW_PORT         = 5536  #实例监听守护进程 TCP 连接的端口

[MAL_INST2]

MAL_INST_NAME            = GRP1_RT_02

MAL_HOST                 = 162.30.*.221

MAL_PORT                 = 5336

MAL_INST_HOST            = 162.30.*.221

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT         = 5536

3.2.2.7 创建 dmwatcher.ini

vi /mnt/dm/dmdbms/data/DAMENG/dmwatcher.ini

添加以下内容

[GRP1]

DW_TYPE                  = GLOBAL  #全局守护类型

DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切

DW_ERROR_TIME            = 20  #远程守护进程故障认定时间

INST_ERROR_TIME          = 20  #本地实例故障认定时间

INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间

INST_OGUID               = 45331  #守护系统唯一 OGUID 值

INST_INI                 = /mnt/dm/dmdbms/data/DAMENG/dm.ini  #dm.ini 文件路径

INST_AUTO_RESTART        = 1  #打开实例的自动启动功能

INST_STARTUP_CMD         = /mnt/dm/dmdbms/bin/dmserver  #命令行方式启动

RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

3.2.2.8 注册服务

root用户下操作

su root

/mnt/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /mnt/dm/dmdbms/data/DAMENG/dm.ini -m mount

/mnt/dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /mnt/dm/dmdbms/data/DAMENG/dmwatcher.ini

若要删除自启,可利用如下方式:

/mnt/dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceGRP1_RT_02

/mnt/dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher

3.2.3 配置确认监视器

配置确认监视器,存放确认监视器配置文件,并注册后台自启服务。

官方建议监视器配置在第三台机器上,本次部署在机器A上

3.2.3.1创建 dmmonitor.ini

使用dmdba用户

su dmdba

vi /mnt/dm/dmdbms/bin/dmmonitor.ini

添加以下内容:

MON_DW_CONFIRM             = 1  #0:非确认(故障手切) 1:确认(故障自切)

MON_LOG_PATH               = ../log  #监视器日志文件存放路径

MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位 MB

MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位 MB

[GRP1]

MON_INST_OGUID           = 45331  #组 GRP1 的唯一 OGUID 值

MON_DW_IP                = 162.30.*.220:5436  #IP对应MAL_HOST,PORT 对应 MAL_DW_PORT

MON_DW_IP                = 162.30.*.221:5436

在配置监视器时,一般配置好确认监视器后,建议再配置一个非确认监视器的配置文件,在主备发生切换时,可以通过前台的方式启动非确认监视器进行手动切换。非确认监视器是通过将监视器配置文件中 MON_DW_CONFIRM 参数值修改为 0 来实现,示例如下:

vi /mnt/dm/dmdbms/bin/dmmonitor_manual.ini

添加以下内容:

MON_DW_CONFIRM             = 0  #0:非确认(故障手切) 1:确认(故障自切)

MON_LOG_PATH               = ../log  #监视器日志文件存放路径

MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位 MB

MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位 MB

[GRP1]

MON_INST_OGUID           = 45331  #组 GRP1 的唯一 OGUID 值

MON_DW_IP                = 162.30.*.220:5436  #IP对应MAL_HOST,PORT 对应 MAL_DW_PORT

MON_DW_IP                = 162.30.*.221:5436

3.2.3.2 注册服务

root用户下操作

/mnt/dm/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /mnt/dm/dmdbms/bin/dmmonitor.ini

若要删除自启服务,可利用如下方式:

/mnt/dm/dmdbms/script/root/dm_service_uninstaller.sh -n DmMonitorServiceMonitor

3.2.3.3 监视器使用

命令

含义

list

查看守护进程的配置信息

show global info

查看所有实例组的信息

tip

查看系统当前运行状态

login

登录监视器

logout

退出登录

choose switchover GRP1

主机正常:查看可切换为主机的实例列表

switchover GRP1.实例名

主机正常:使用指定组的指定实例,切换为主机

choose takeover GRP1

主机故障:查看可切换为主机的实例列表

takeover GRP1.实例名

主机故障:使用指定组的指定实例,切换为主机

choose takeover force GRP1

强制切换:查看可切换为主机的实例列表

takeover force GRP1.实例名

强制切换:使用指定组的指定实例,切换为主机

3.2.4启动集群服务
3.2.4.1 机器A

使用dmdba用户操作

/mnt/dm/dmdbms/bin/DmServiceGRP1_RT_01 start

进入dm安装路径下的执行路径

cd /mnt/dm/dmdbms/bin/

进入sql命令行修改参数

./disql SYSDBA/SYSDBA@127.0.0.1:5236

在命令行执行以下4条语句:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SP_SET_OGUID(45331);

ALTER DATABASE PRIMARY;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

退出sql命令行

exit

3.2.4.2 机器B

使用dmdba用户操作

/mnt/dm/dmdbms/bin/DmServiceGRP1_RT_02 start

进入dm安装路径下的执行路径

cd /mnt/dm/dmdbms/bin/

进入sql命令行修改参数

./disql SYSDBA/SYSDBA@127.0.0.1:5236

在命令行执行以下4条语句:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SP_SET_OGUID(45331);

ALTER DATABASE STANDBY;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

退出sql命令行

exit

3.2.4.3 启动机器守护DmWatcherServiceWatcher

使用dmdba用户

在A机器上执行以下语句

/mnt/dm/dmdbms/bin/DmWatcherServiceWatcher start

在B机器上执行以下语句

/mnt/dm/dmdbms/bin/DmWatcherServiceWatcher start

3.2.5 集群状态查看
3.2.5.1启动监视器

在监视器的服务器上,本例为机器A执行

使用dmdba用户

/mnt/dm/dmdbms/bin/DmMonitorServiceMonitor start

3.2.5.2查看集群状态

使用dmdba用户操作

进入dm安装路径下的执行路径

cd /mnt/dm/dmdbms/bin/

./dmmonitor /mnt/dm/dmdbms/bin/dmmonitor_manual.ini

集群状态如下:

3.2.5.2 dm_svc.conf 配置

若应用需要使用数据库名连接集群,则需要在应用部署服务器上配置dm_svc.conf文件;

vim /etc/dm_svc.conf

添加以下内容:

  • ##以#开头的行表示是注释#
  • ##全局配置区
  • TIME_ZONE=(480)
  • LANGUAGE=(cn)
  • DMHA=(162.30.*.220:5236,162.30.*.221:5236)
  • ##服务配置
  • [DMHA]
  • SWITCH_TIMES=(3)
  • SWITCH_INTERVAL=(100)

LOGIN_MODE=(1)

jdbc 连接串:jdbc:dm://DMHA

4、新建用户

在主库的服务器,机器A上进行操作:

/mnt/dm/dmdbms/bin/disql SYSDBA/SYSDBA@localhost:5236

create user dmdba identified by "dmdbda@2025" ;

grant "RESOURCE","PUBLIC","DBA","VTI" to dmdbda;

如果帮助到了你,请关注公众号:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天蝎座小小熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值