达梦数据守护集群监视器详解与应用指南

一、DM 数据守护系统概述

达梦数据守护系统是保障数据库高可用性的核心组件,其架构主要由以下部分组成:

  • 主库/备库:承担读写和只读服务的数据节点
  • Redo 日志:记录数据库变更的核心日志
  • Redo 日志传输:主备库间的日志同步机制
  • Redo 日志重演:备库重做日志的应用过程
  • 守护进程 (dmwatcher):实例级别的监控和管理组件
  • 监视器 (dmmonitor):集群级别的监控和管理工具

监视器作为数据守护系统的重要组成部分,提供了集群监控、故障管理和状态确认等关键功能。

二、监视器核心功能解析

1. 监控数据守护系统

监视器实时接收守护进程发送的状态消息,完整展示主备库状态变化和故障切换过程中数据库模式、状态的转换过程。

2. 管理数据守护系统

用户可通过监视器命令启停守护进程监控功能,执行主备库切换、备库故障接管等操作。

3. 确认状态信息

在故障自动切换场景下,监视器提供状态确认机制,避免因网络故障导致的脑裂问题。

4. 发起故障自动接管

当主库发生故障时,监视器自动选择符合条件的备库并通知其执行接管操作。

三、监视器常用命令详解

3.1 集群状态查看:show 命令

启动监视器:

bash 复制代码
/opt/dmdbms/bin/dmmonitor /opt/dmdbms/bin/dmmonitor.ini

查看集群状态:

bash 复制代码
show

关键字段解析:

组全局信息
  • GROUP:守护进程组名
  • OGUID:守护进程组唯一标识
  • MON_CONFIRM:确认模式标识(TRUE/FALSE)
  • MODE:切换模式(AUTO/MANUAL)
  • MPP_FLAG:MPP 环境标识
库全局信息
  • DW_IP:守护进程内网IP
  • MAL_DW_PORT:守护进程监听端口
  • INST_IP:数据库对外服务IP
  • INST_PORT:数据库对外服务端口
守护进程信息
  • WTIME:守护进程本地时间
  • WTYPE:守护类型(LOCAL/GLOBAL)
  • WSTATUS:守护进程状态
  • INAME:实例名称
  • ISTATUS:数据库状态(Open/Mount等)
  • IMODE:数据库模式(Primary/Standby)
实例信息
  • INST_OK:实例状态(OK/ERROR)
  • FSEQ/FLSN:已写入日志的序列号/LSN
  • CSEQ/CLSN:当前系统序列号/LSN

监控要点:

  • 确认所有实例 INST_OK 状态为 OK
  • 确认所有数据库 ISTATUS 为 OPEN
  • 确认主备模式 IMODE 为 Primary/Standby

3.2 其他常用命令

1. list 命令

查看守护进程配置信息:

bash 复制代码
list

输出内容包括守护类型、运行模式、超时时间、实例启动命令等关键配置参数。

2. show global info 命令

查看所有实例组的信息:

bash 复制代码
show global info
3. tip 命令

查看集群当前运行状态概要:

bash 复制代码
tip

该命令提供集群健康状态的简要评估,特别会提示监视器是否为确认模式。

4. choose switchover 命令

查看可切换为主库的实例列表:

bash 复制代码
choose switchover GRP1
5. switchover 命令

执行主备切换操作:

bash 复制代码
switchover GRP1.GRP1_RT_01

该命令会触发完整的切换流程,包括:

  • 守护进程状态切换
  • 数据库模式变更
  • 归档状态调整
  • 数据库重新打开

四、实战经验分享

1. 日常监控要点

建议定期检查以下关键指标:

  • 主备库同步状态(RSTAT 应为 VALID)
  • 日志应用延迟(FSEQ/CSEQ 差值)
  • 网络连通性(INST_OK 状态)

2. 故障处理流程

  1. 使用 show 命令确认当前状态
  2. 通过 tip 命令获取系统提示
  3. 根据情况选择手动切换或故障接管
  4. 监控切换过程,确认所有实例恢复正常

3. 注意事项

  • 非确认模式的监视器无法执行自动故障接管
  • 切换前确保备库数据同步状态正常
  • 网络分区时谨慎操作,避免脑裂

五、总结

达梦数据守护集群监视器是维护数据库高可用性的关键工具。通过熟练掌握 show、list、tip 等监控命令,以及 choose switchover、switchover 等管理命令,数据库管理员可以有效保障集群的稳定运行,及时处理各类故障场景。

在实际运维中,建议结合监控告警系统,对关键指标进行持续监控,并建立完善的应急预案,确保在故障发生时能够快速响应和处理,最大限度保障业务的连续性和数据的安全性。

相关推荐
CoderYanger5 小时前
MySQL数据库——3.2.1 表的增删查改-查询部分(全列+指定列+去重)
java·开发语言·数据库·mysql·面试·职场和发展
PEI045 小时前
MVCC(多版本并发控制)
java·开发语言·数据库
码出财富5 小时前
事务管理的选择:为何 @Transactional 并非万能,TransactionTemplate 更值得信赖
数据库
ST.J5 小时前
SQL与数据库笔记
数据库·笔记·sql
jllws16 小时前
数据库原理及应用_数据库管理和保护_第5章数据库的安全性_理论部分
数据库
2302_809798327 小时前
【Redis】缓存的穿透、击穿和雪崩
数据库·redis·缓存
花哥码天下8 小时前
MySQL事务日志类型及作用解析
数据库·mysql
手握风云-8 小时前
MySQL数据库精研之旅第十七期:深度拆解事务核心(下)
数据库·mysql