注册
达梦数据库DM8单机主备集群安装部署
技术分享/ 文章详情 /

达梦数据库DM8单机主备集群安装部署

🌊Amaharashi 2026/07/31 140 0 0

单机主备将主、备两个独立数据库实例部署于同一台服务器,依靠端口、目录、进程隔离实现逻辑主备,支持数据同步与故障切换。

实验环境

操作系统:银河麒麟服务器操作系统V10;
数据库软件:达梦数据库DM8;
虚拟平台:VMware Workstation Pro;
CPU架构:x86_64。

集群规划

image.png

安装流程

基础环境准备

创建目录

root用户
mkdir -p /dmdata/mpp1_01/data/DAMENG
mkdir -p /dmdata/mpp1_01/arch
mkdir -p /dmdata/mpp1_01/bak
mkdir -p /dmdata/mpp1_02b/data/DAMENG
mkdir -p /dmdata/mpp1_02b/arch
chown -R dmdba:dinstall /dmdata
chmod -R 755 /dmdata
image.png

初始化实例

dmdba用户
cd /home/dmdba/dmdbms/log2/bin

./dminit path=/dmdata/mpp1_01/data
INSTANCE_NAME=MPP1_01
PORT_NUM=5236
PAGE_SIZE=32
EXTENT_SIZE=32
LOG_SIZE=2048
SYSDBA_PWD=Sysdba123
SYSAUDITOR_PWD=Sysdba123

主库配置

前台启动并开启归档

前台启动
./dmserver /dmdata/mpp1_01/data/DAMENG/dm.ini
另一个窗口开启终端,连接disql
./disql SYSDBA/Sysdba123@localhost:5236
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ‘DEST=/dmdata/mpp1_01/arch,TYPE=LOCAL,FILE_SIZE=1024,SPACE_LIMIT=51200’;
ALTER DATABASE OPEN;
备份
BACKUP DATABASE BACKUPSET ‘/dmdata/mpp1_01/bak/BACKUP_FILE’;
设置参数
SP_SET_PARA_VALUE(2,‘PORT_NUM’,5236);
SP_SET_PARA_VALUE(2,‘DW_INACTIVE_INTERVAL’,60);
SP_SET_PARA_VALUE(2,‘ALTER_MODE_STATUS’,0);
SP_SET_PARA_VALUE(2,‘ENABLE_OFFLINE_TS’,2);
SP_SET_PARA_VALUE(2,‘MAL_INI’,1);
SP_SET_PARA_VALUE(2,‘MPP_INI’,1);
SP_SET_PARA_VALUE(2,‘ARCH_INI’,1);
SP_SET_PARA_VALUE(2,‘RLOG_SEND_APPLY_MON’,64);
EXIT;
image.png

配置文件

配置主库归档文件 dmarch.ini
ARCH_WAIT_APPLY = 0

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/mpp1_01/arch/
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = MPP1_01B
配置 MAL 通信文件 dmmal.ini
MAL_CHECK_INTERVAL = 10
MAL_CONN_FAIL_INTERVAL = 10
MAL_TEMP_PATH = /dmdata/malpath/
MAL_BUF_SIZE = 512
MAL_SYS_BUF_SIZE = 2048
MAL_COMPRESS_LEVEL = 0

[MAL_INST1]
MAL_INST_NAME = MPP1_01
MAL_HOST = 192.168.1.1
MAL_PORT = 5336
MAL_INST_HOST = 172.20.10.100
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536

[MAL_INST2]
MAL_INST_NAME = MPP1_01B
MAL_HOST = 192.168.1.1
MAL_PORT = 5337
MAL_INST_HOST = 172.20.10.100
MAL_INST_PORT = 5237
MAL_DW_PORT = 5437
MAL_INST_DW_PORT = 5537
配置MPP控制文件
[SERVICE_NAME1]
MPP_SEQ_NO = 0
MPP_INST_NAME = MPP1_01

[SERVICE_NAME2]
MPP_SEQ_NO = 1
MPP_INST_NAME = MPP1_02

配置守护进程
[GMPP1_01]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 20
INST_ERROR_TIME = 20
INST_RECOVER_TIME = 60
INST_OGUID = 45331
INST_INI = /dmdata/mpp1_01/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/log2/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

[GMPP1_02]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 20
INST_ERROR_TIME = 20
INST_RECOVER_TIME = 60
INST_OGUID = 45332
INST_INI = /dmdata/mpp1_02b/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/log2/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

备库配置

使用主库备份恢复备库

cd /home/dmdba/dmdbms/log2/bin
还原
./dmrman CTLSTMT=“RESTORE DATABASE
‘/dmdata/mpp1_01b/data/DAMENG/dm.ini’ FROM BACKUPSET
‘/dmdata/mpp1_01/bak/BACKUP_FILE’”
恢复
./dmrman CTLSTMT=“RECOVER DATABASE
‘/dmdata/mpp1_01b/data/DAMENG/dm.ini’ FROM BACKUPSET
‘/dmdata/mpp1_01/bak/BACKUP_FILE’”
更新 DB_MAGIC
./dmrman CTLSTMT=“RECOVER DATABASE
‘/dmdata/mpp1_01b/data/DAMENG/dm.ini’ UPDATE DB_MAGIC”
image.png

配置备库

配置备库dm.ini
INSTANCE_NAME = MPP1_01B
PORT_NUM = 5237
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
MPP_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
配置备库 dmarch.ini
ARCH_WAIT_APPLY = 0

[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/mpp1_01b/arch/
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = MPP1_01
注册系统服务
root 用户
cd /home/dmdba/dmdbms/log2/script/root/

注册主库服务
./dm_service_installer.sh -t dmserver
-dm_ini /dmdata/mpp1_01/data/DAMENG/dm.ini
-p MPP1_01 -m mount

注册备库服务
./dm_service_installer.sh -t dmserver
-dm_ini /dmdata/mpp1_01b/data/DAMENG/dm.ini
-p MPP1_01B -m mount

注册守护进程服务
./dm_service_installer.sh -t dmwatcher
-p Watcher
-watcher_ini /dmdata/mpp1_01/data/DAMENG/dmwatcher.in
image.png

配置主备模式并启动

启动主库并设置为主库模式

./DmServiceMPP1_01 start

./disql SYSDBA/Sysdba123@172.20.10.100:5236

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);
EXIT;
image.png

启动备库并设置为备库模式

./DmServiceMPP1_01B start

./disql SYSDBA/Sysdba123@172.20.10.100:5237

SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
SP_SET_OGUID(45331); – 与主库相同的 OGUID
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);
EXIT;
image.png

启动守护进程

./DmWatcherServiceWatcher start
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服