注册
数据库主备切换操作方案
专栏/技术分享/ 文章详情 /

数据库主备切换操作方案

DM_201195 2025/06/20 165 1 0
摘要

1.概述

本方案主要用于主备集群的节点主动切换操作使用。
一般在同一局域网内,可配置 1 个确认监视器,多个非确认监视器,同一个集群仅支持启动一个确认监视器(监视器高可用架构除外)。进行集群的切换动作,一般使用的是非确认监视器进行操作。
友情提示:做本操作前,建议检查数据库主节点中是否还有未提交的修改事务或者正在执行修改操作的活动会话,以免主动切换集群造成因数据未提交的数据丢失。

2.配置非确认监视器(如已配置请略过)

2.1 配置前说明

配置非确认监视器的dmmonitor.ini配置文件过程中需要使用到dmwatcher.ini 、dmmal.ini配置文件中的相关信息,这两个配置文件位于实例数据存放目录下,与dm.ini 配置文件在同一个目录中。如不确定实例数据存放目录,可以在数据库主备任意节点通过ps -ef|grep dms 抓取数据库服务进程中dm.ini的配置文件路径来确认,如下所示,该实例的存放目录是/dmdata/CMXT/:
image.png

dmwatcher.ini 使用到GRP_DW(组名)以及INST_OGUID值(守护系统的唯一值) :
image.png

dmmal.ini使用到MAL_HOST以及MAL_DW_PORT:
image.png

2.2 配置非确认监视器

使用dmdba用户在确认监视器节点达梦安装目录$DM_HOME(达梦数据库软件安装路径,也可以配置在达梦实例目录下,具体可以看实际需求,注意不要覆盖原来的确认监视器的配置文件)下配置非确认监视器配置文件dmmonitor.ini (如无单独的确认监视器节点,可以配置在主备节点的任意一个节点上),参考配置如下,配置过程中建议删除#号注释部分内容

cd $DM_HOME  #打开软件安装目录,如未配置,可以直接输入具体路径如:cd /dm/dmdbms
vi dmmonitor.ini  #配置文件,根据生产实际情况进行配置,然后保存。

MON_DW_Confirm    = 0   #0非确认监视器模式  1 确认监视器模式
MON_LOG_PATH    = /dm/dmdbms/log   #监视器日志文件存放路径以实际为准
MON_LOG_INTERVAL  = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 200 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT  = 1024  #不限定日志文件总占用空间
[GRP_DW] 
 MON_INST_OGUID    = 453369  #组GRP_DW 的唯一 OGUID 值,需与dmwatcher.ini配置文件中的INST_OGUID值保持一致
#以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST, PORT 对应 dmmal.ini 中的 MAL_DW_PORT
 MON_DW_IP     = 192.168.31.236:7436
 MON_DW_IP     = 192.168.31.237:7436

3.主备集群切换

3.1 确认集群状态

主备切换前,需要先确认集群状态正常。

--使用dmdba用户启动手动监视器服务
cd /dm/dmdbms/bin
./dmmonitor /dm/dmdbms/dmmonitor.ini

image.png

--在监视器命令窗口输入tip确认集群状态
tip

image.png

3.2登陆非确认监视器
(1)使用dmdba用户启动确认监视器服务

cd /dm/dmdbms/bin
./dmmonitor /dm/dmdbms/dmmonitor.ini

image.png

(2)启动后,以SYSDBA用户登陆管理

login 
输入用户名:SYSDBA
输入密码:********* 

image.png

3.3 切换主备集群
(1)登陆后确认集群主名和节点实例名
输入show查看集群组名和实例名,如下图所示,组名为GRP_DW,备节点的实例名为CMXT02:

show

image.png

(2)确认可以切换的节点

--输入choose switchover 组名  确认可以接管的节点,GRP_DW为组名:
choose switchover GRP_DW

image.png

当前显示的可接管的节点名称为CMXT02(如有多个备节点可以接管,该位置将显示所有节点的实例名列表信息)

(3)使用switchover命令进行主备切换

--输入switchover 组名.实例名进行切换,上一步中确认可以接管的实例为CMXT02节点:
switchover GRP_DW.CMXT02

image.png
image.png

再输出以上截图中CMXT02节点已为PRIMARY节点,切状态为open则表示集群切换完成。

--等待集群切换完成再次输入  tip查看集群状态,确认所有节点均正常。
tip

image.png

至此,切换步骤已完成。

4.集群反切

集群反切回原来主节点的操作与第三章节中的步骤基本一致。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服