达梦数据库DM8主备集群

一、高可用架构设计

数据库的高可用是生产环境的刚需。达梦DM8提供多种高可用方案:数据守护(DW)、读写分离(DMRWC)、共享存储(DSC)。其中数据守护是最常用的双机热备方案,主库故障时备库自动接管,RPO=0,RTO小于30秒。

二、数据守护架构原理

  • 主库:提供读写服务,实时同步日志到备库

  • 备库:接收主库日志并恢复,可选实时同步

  • 监视器:监控主备状态,故障时发起切换

  • 守护进程:管理日志同步和状态切换

三、环境准备

# 节点规划
# 主库:192.168.1.10
# 备库:192.168.1.11
# 监视器:192.168.1.12
# 确保时钟同步
ntpdate -u ntp.aliyun.com

四、主库配置

4.1 启用归档

# dm.ini 中设置
ARCH_INI = 1
MAL_INI = 1
# dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8_SLAVE
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/arch

4.2 MAL系统配置

# dmmal.ini
[MAL_INST1]
MAL_INST_NAME = DM8_MASTER
MAL_HOST = 192.168.1.10
MAL_PORT = 5536
MAL_INST_HOST = 192.168.1.10
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = DM8_SLAVE
MAL_HOST = 192.168.1.11
MAL_PORT = 5536
MAL_INST_HOST = 192.168.1.11
MAL_INST_PORT = 5236

五、启动集群

# 1. 主库启动
systemctl start DmServiceDMSERVER
disql SYSDBA/SYSDBA
SQL> SP_SET_OGUID(45321);
SQL> ALTER DATABASE PRIMARY;
# 2. 备库启动
systemctl start DmServiceDMSERVER
disql SYSDBA/SYSDBA
SQL> SP_SET_OGUID(45321);
SQL> ALTER DATABASE STANDBY;
# 3. 启动守护进程
systemctl start DmWatcherServiceDMSERVER
# 4. 监视器执行
./dmmonitor /dm/data/DAMENG/dmmonitor.ini
show

六、故障切换

手动切换

# 监视器中执行
switchover DM8_MASTER.DM8_SLAVE

故障自动切换

# 模拟主库宕机
systemctl stop DmServiceDMSERVER
# 监视器自动检测并切换

七、日常运维

# 查看集群状态
show
# 查看同步延迟
SELECT DATEDIFF(SECOND, MAX(create_time), SYSDATE) 
FROM v$arch_status;
# 定期备份
./dmrman CTLSTMT="BACKUP DATABASE '/dm/data/DAMENG/dm.ini' FULL"

八、注意事项

  1. 主备库配置保持一致,避免切换后性能降级

  2. 网络延迟不要超过10ms

  3. 监视器最好部署在第三台服务器

  4. 每季度至少做一次切换演练

九、总结

达梦DM8的数据守护方案成熟可靠,搭建过程与Oracle DataGuard高度相似。关键是要做好初始化参数配置和切换演练,确保故障发生时切换流程顺畅。

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

This website uses cookies to analyze site traffic and improve your experience. By continuing to use this site, you consent to our use of cookies.