注册
达梦数据库数据守护集群搭建实战(两节点)
技术分享/ 文章详情 /

达梦数据库数据守护集群搭建实战(两节点)

JYX. 2026/07/31 167 0 0

前言
数据守护集群是达梦数据库提供的高可用解决方案,通过主备架构实现数据实时同步与故障自动切换。本文基于银河麒麟V10操作系统,详细介绍两节点达梦数据守护集群的搭建过程,涵盖环境准备、集群配置、启动验证及故障模拟测试,适合具备一定Linux和达梦数据库基础的读者。开始前需准备两台网络互通的主备虚拟机。

一、环境准备
本文基于两台银河麒麟 V10 虚拟机搭建集群,主机 IP 为 192.168.74.131,备机 IP 为 192.168.74.132。集群规划如下:主机实例 DMSERVER1,备机实例 DMSERVER2,数据库端口均为 5236,MAL 通信端口分别为 5336 和 5337,守护进程端口分别为 5436 和 5437,安装目录与数据目录统一为 /dm8 和 /dm8/data。
开始搭建前,需确保两台机器均已安装达梦数据库软件,网络互通且防火墙已关闭,并在两台机器上完成 dmdba 用户创建。

二、修改备机网络配置
2.1 启动备机并查看IP
启动备机,登录后查看当前IP:
image.png
2.2 修改网卡配置文件
编辑网卡配置文件
image.png
修改以下内容:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.74.132
NETMASK=255.255.255.0
GATEWAY=192.168.74.2
DNS1=8.8.8.8
image.png
2.3 重启网络服务
systemctl restart network
2.4 验证IP配置
确认IP地址已变更为 192.168.74.132
image.png
2.5 修改主机名
为了方便识别,建议修改备机的主机名:
hostnamectl set-hostname kylin10-standby
2.6 测试网络互通
在备机上 ping 主机,确认两台机器可以正常通信:
ping 192.168.74.131 -c 4
看到 0% packet loss 说明网络配置成功。
image.png

三、配置主机(主库)
以下操作均在主机(192.168.74.131)上执行。
3.1 修改 dm.ini
切换到 dmdba 用户,进入数据目录:
su - dmdba
cd /dm8/data/DMOA
vi dm.ini
在 vi 中找到下面这些参数,按 i 进入编辑模式,把它们改成:
INSTANCE_NAME = DMSERVER1
PORT_NUM = 5236
DW_PORT = 5436
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
改完后,按 Esc,输入 :wq,按回车保存退出
image.png
3.2 创建 dmmal.ini
/dm8/data/DMOA/ 目录下创建 MAL 配置文件:
image.png
添加以下内容:
[MAL_INST1]
MAL_INST_NAME = DMSERVER1
MAL_HOST = 192.168.74.131
MAL_PORT = 5336
MAL_INST_HOST = 192.168.74.131
MAL_INST_PORT = 5236
MAL_DW_PORT = 5536
MAL_INST_DW_PORT = 5436
[MAL_INST2]
MAL_INST_NAME = DMSERVER2
MAL_HOST = 192.168.74.132
MAL_PORT = 5337
MAL_INST_HOST = 192.168.74.132
MAL_INST_PORT = 5236
MAL_DW_PORT = 5537
MAL_INST_DW_PORT = 5437
3.3 创建 dmarch.ini
创建归档配置文件:
image.png
添加以下内容:
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVER2
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/DMOA/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 1024
3.4 创建 dmwatcher.ini
创建守护进程配置文件:
image.png
添加以下内容:
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 20
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 20
INST_OGUID = 45331
INST_INI = /dm8/data/DMOA/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

四、备份主库数据
在启动集群之前,需要先将主库的数据备份并恢复到备库,确保主备数据一致。
4.1 关闭主库服务
切换到 root 用户,停止主库服务:
image.png
4.2 使用 dmrman 备份
切换到 dmdba 用户,使用 dmrman 工具进行脱机备份:
su - dmdba
cd /dm8/bin
./dmrman
在 dmrman 提示符下执行备份命令:
RMAN> BACKUP DATABASE ‘/dm8/data/DMOA/dm.ini’ FULL TO BACKUP_FILE BACKUPSET ‘/dm8/backup’;
image.png
备份完成后,退出 dmrman

五、恢复备库数据
5.1 拷贝备份文件到备机
在主机上执行(需要 root 用户):
exit
scp -r /dm8/backup root@192.168.74.132:/dm8/
输入备机 root 密码后,等待文件传输完成。
image.png
5.2 在备机恢复数据
切换到备机(192.168.74.132),使用 dmrman 恢复数据:
su - dmdba
cd /dm8/bin
./dmrman
在 dmrman 提示符下执行恢复命令:
RMAN> RESTORE DATABASE ‘/dm8/data/DMOA/dm.ini’ FROM BACKUPSET ‘/dm8/backup’;
RMAN> RECOVER DATABASE ‘/dm8/data/DMOA/dm.ini’ FROM BACKUPSET ‘/dm8/backup’;
RMAN> RECOVER DATABASE ‘/dm8/data/DMOA/dm.ini’ UPDATE DB_MAGIC;
image.png
image.png
image.png

六、配置备机(备库)
以下操作均在备机(192.168.74.132)上执行。
6.1 修改 dm.ini
su - dmdba
cd /dm8/data/DMOA
vi dm.ini
image.png
修改为:
INSTANCE_NAME = DMSERVER2
PORT_NUM = 5236
DW_PORT = 5437
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
6.2 创建 dmmal.ini
image.png
内容与主机完全相同:
[MAL_INST1]
MAL_INST_NAME = DMSERVER1
MAL_HOST = 192.168.74.131
MAL_PORT = 5336
MAL_INST_HOST = 192.168.74.131
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = DMSERVER2
MAL_HOST = 192.168.74.132
MAL_PORT = 5337
MAL_INST_HOST = 192.168.74.132
MAL_INST_PORT = 5236
6.3 创建 dmarch.ini
image.png
内容与主机略有不同(ARCH_DEST 指向主库):
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVER1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/DMOA/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 1024
6.4 创建 dmwatcher.ini
image.png
内容与主机完全相同:
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 20
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 20
INST_OGUID = 45331
INST_INI = /dm8/data/DMOA/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

七、启动数据守护集群
7.1 启动备机数据库
image.png
保持运行
7.2 启动主机数据库
image.png
保持运行
7.3 设置数据库角色
在主机新终端执行:
cd /dm8/bin
./disql SYSDBA/Dameng_123@localhost:5236
执行SQL:
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
SP_SET_OGUID(45331);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);
在备机新终端执行:
cd /dm8/bin
./disql SYSDBA/Dameng_123@localhost:5236
执行SQL:
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);
7.4 启动守护进程
在主机的新终端中执行:
image.png
在备机的新终端中执行:
image.png

八、验证集群状态
8.1 使用监视器查看集群状态
在主机的新终端中启动监视器:
image.png
在监视器提示符下执行:
show
查看集群状态,确认主备角色分配正确。
image.png
8.2 测试数据同步
在主库上创建测试表并插入数据:
./disql SYSDBA/Dameng_123@localhost:5236
CREATE TABLE test_sync (id INT, name VARCHAR(50));
INSERT INTO test_sync VALUES (1, ‘zhuku’);
COMMIT;
SELECT * FROM test_sync;
image.png
然后在备库上查询数据是否同步:
./disql SYSDBA/Dameng_123@localhost:5236
SELECT * FROM test_sync;
image.png
如果能查询到相同的数据,说明主备同步正常!

九、总结
本文基于银河麒麟 V10 系统,完成了达梦 DM8 两节点数据守护集群的搭建与验证。通过主备架构实现数据实时同步,确保主库故障时备库可快速接管,为业务系统提供了高可用保障。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服