一、切换模式
达梦数据库主备切换分为主动切换和被动切换模式
primary:主库状态
standby:备库状态
suspend;挂起状态,数据库会变成只读模式
主库正常切换的前提:
1、监视器正常
2、接管备库是 Standby 模式、Open 状态。
二、监视器模式
MON_DW_CONFIRM为1时为确认监视器,可以注册为系统服务
为0为普通监视器,./dmmonitor /dm/data/dmmonitor.ini启动和确定监视器不会冲突
可以通过show命令展示主备状态
MON_DW_CONFIRM = 0 #普通监视器
MON_LOG_PATH = /dm/data/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 453332 #组GRP1的唯一OGUID值
#以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
#IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT
MON_DW_IP = xx.xx.0.141:52141
MON_DW_IP = xx.xx.0.142:52142
MON_DW_IP = xx.xx.0.143:52143
三、手动切换主备
3.1 命令说明
在监视器手动切换主库,当主库故障时候,监视器会自动切换备库为主库,如果想手动干预,可以执行如下命令
switchover [group_name[.]] [db_name] 切换指定组的指定库为Primary库
takeover [group_name[.]] [db_name] 使用指定组的指定库接管故障Primary库
takeover force [group_name[.]] [db_name] 使用指定组的指定库强制接管故障Primary库
区别
switchover:切换,无论是否故障,都可以来回切
takeover: 接管,一般会自动接管
3.2 手动切换主备
show global info #查看所有组全局信息
choose switchover [group_name] #查看可以切换的备库列表
choose switchover grp1 #命令
Can choose one of the following instances to do switchover:
1: xxxxDB2 #可切换实
switchover [group_name[.]] [db_name] #切换指定组的指定库为Primary库
3.3 说明
主备都正常的情况下,手动切换主备用switchover
主库确认故障后,备库手工接管用takeover