达梦数据库数据守护集群启动与关闭标准流程

核心原则: 严格按照顺序操作,确保集群状态稳定切换,避免数据不一致或脑裂风险。


一、 数据守护集群启动顺序(关键步骤)

  1. 启动数据库实例 (Mount 状态)

    • 操作目的: 启动数据库但不打开数据文件,允许修改配置和模式。

    • 操作命令 (在主库 DM1 执行):

      bash 复制代码
      ./dmserver /DM/data/DAMENG/dm.ini mount
    • 操作命令 (在备库 DM2 执行):

      bash 复制代码
      ./dmserver /DM/data/DAMENG/dm.ini mount
  2. 修改数据库运行模式

    • 设置主库模式 (在 Mount 状态的 DM1 上执行 SQL):

      sql 复制代码
      ALTER DATABASE PRIMARY;
    • 设置备库模式 (在 Mount 状态的 DM2 上执行 SQL):

      sql 复制代码
      ALTER DATABASE STANDBY;
  3. 启动守护进程 (Daemon)

    • 启动主库守护 (在主机 DM1 上执行):

      bash 复制代码
      ./DmWatcherServiceGRP1_RT_01 start
    • 启动备库守护 (在备机 DM2 上执行):

      bash 复制代码
      ./DmWatcherServiceGRP1_RT_02 start
    • 守护进程负责监控实例状态、管理主备切换、重演归档日志。

  4. 启动监视器 (Monitor - 可选但推荐)

    • 在监视节点 DM_W 上执行:

      bash 复制代码
      ./dmmonitor /home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini
    • 监视器提供集群状态可视化监控和部分自动控制功能(如确认切换)。


二、 数据守护集群关闭顺序(安全停止)

  1. 退出监视器 (Monitor - 如果正在运行)

    • 在监视节点 DM_W 上操作: 在监视器命令行界面输入 exit 或直接关闭其运行终端。
  2. 关闭备库守护进程 (在备机 DM2 上执行):

    bash 复制代码
    ./DmWatcherServiceGRP1_RT_02 stop
  3. 关闭主库守护进程 (在主机 DM1 上执行):

    bash 复制代码
    ./DmWatcherServiceGRP1_RT_01 stop
  4. 关闭主机数据库实例 (在 DM1 上操作):

    • 连接到 DM1 数据库实例。

    • 执行 SQL 命令:

      sql 复制代码
      SHUTDOWN IMMEDIATE;
  5. 关闭备机数据库实例 (在 DM2 上操作):

    • 连接到 DM2 数据库实例。

    • 执行 SQL 命令:

      sql 复制代码
      SHUTDOWN IMMEDIATE;

三、 关键注意事项

  1. 顺序至关重要: 启动时必须先启库改模式,再启守护和监视器;关闭时必须先停监视器和守护,再停库。颠倒顺序极易导致集群状态异常或故障切换误触发。
  2. Mount 状态的作用: 启动时使用 mount 参数是为了让数据库处于可修改配置(如运行模式)的状态,但阻止用户访问数据,确保模式切换安全。
  3. 守护进程依赖: 守护进程需要在数据库实例启动后运行,监视器又依赖守护进程提供状态信息。
  4. 路径与文件名: 示例中的路径 (/DM/data/DAMENG/, /home/dmdba/dmdbms/data/DAMENG/) 和守护进程名 (DmWatcherServiceGRP1_RT_01) 需替换为实际部署环境中的值。
  5. 权限: 确保操作使用具有足够权限的用户(如 dmdba)。
  6. 关闭方式: 使用 SHUTDOWN IMMEDIATE 是安全的关闭方式,会回滚未提交事务但断开所有连接。避免直接 kill 进程或断电!
  7. 监视器非必须: 虽然监视器提供便利监控,但集群核心功能(守护进程+实例)本身可以独立运行。

四、 总结

遵循 启动库(mount) -> 改模式 -> 启守护 -> 启监视器 的启动流程和 停监视器 -> 停备守护 -> 停主守护 -> 停备库 -> 停主库 的关闭流程,是保障达梦数据守护集群稳定运行的关键。任何步骤的顺序错误都可能引发集群故障,尤其在生产环境中必须严格按此规程操作。 操作前务必核对配置文件路径和守护进程名称与实际环境一致。

建议结合达梦数据库官方文档和实际环境部署手册进行操作,并在测试环境充分验证流程后再应用于生产系统。

相关推荐
fenglllle1 小时前
项目中MySQL遇到的索引失效的问题
数据库·mysql
yngsqq2 小时前
cad c#二次开发 图层封装 获取当前层
java·数据库·c#
知行小栈2 小时前
职业生涯的日常拷问
java·数据库·后端
代码的余温2 小时前
Redis集群核心原理与实战解析
数据库·redis·缓存
用户6279947182623 小时前
南大通用GBase 8s Python 驱动最佳实践指南
数据库
山茶花开时。4 小时前
[Oracle] NVL()函数
数据库·oracle
水木石画室4 小时前
Redis的分布式序列号生成器原理
数据库·redis·分布式
❀͜͡傀儡师4 小时前
达梦数据库日常运维命令
运维·数据库
喵王叭4 小时前
【大模型实战】向量数据库实战 - Chroma & Milvus
数据库·人工智能·langchain