注册
DM实时同步主备集群搭建
培训园地/ 文章详情 /

DM实时同步主备集群搭建

DM_496637 2025/09/02 68 0 0

达梦实时同步守护集群搭建要点:

1.从主节点备份数据库,并且恢复到从数据库

backup database backupset '/dmbackup/202508';

restore database to '/dmdata' overwrite from backupset '/dmbackup/202508';
recover database '/dmdata/dm.ini' from backupset '/dmbackup/202508';
recover database '/dmdata/dm.ini' update db_magic;

2.通过修改配置文件修改数据库参数
主节点参数修改项:

INSTANCE_NAME = DM01 
MAL_INI = 1

从节点参数修改项:

INSTANCE_NAME = DM02
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2 
MAL_INI = 1

3.添加dmmal.ini配置文件

MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DM01 #实例名,和dm.ini 中的INSTANCE_NAME 一致
MAL_HOST = 10.173.172.145 #MAL 系统监听TCP 连接的IP 地址
MAL_PORT = 15236 #MAL 系统监听TCP 连接的端口
MAL_INST_HOST = 10.173.172.145 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致 
MAL_DW_PORT = 15238 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5238 #实例监听守护进程TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = DM02
MAL_HOST = 10.173.172.146
MAL_PORT = 15236
MAL_INST_HOST = 10.173.172.146
MAL_INST_PORT = 5236
MAL_DW_PORT = 15238
MAL_INST_DW_PORT = 5238

4.添加修改dmarch.ini
主节点:

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型 
ARCH_DEST = DM02 #实时归档目标实例名(主机和备份配置不同,配置向备机同步)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0表示无限制,范围1024~4294967294M

从节点:

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型 
ARCH_DEST = DM01 #实时归档目标实例名(主机和备份配置不同,配置向备机同步)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0表示无限制,范围1024~4294967294M

5.上述参数修改完毕后前台启动数据库到mount模式

dmserver /dmdata/dm.ini mount

主节点执行:

disql sysdba/Dameng0801
alter database primary;
sp_set_para_value(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(8888);
sp_set_para_value(1, 'ALTER_MODE_STATUS', 0);
select oguid, mode$ from v$instance;

从节点执行:

disql sysdba/Dameng0801
alter database standby;
sp_set_para_value(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(8888);
sp_set_para_value(1, 'ALTER_MODE_STATUS', 0);
select oguid, mode$ from v$instance;

6.开启守护进程

dmwatcher /dmdata/dmwatcher.ini

7.添加dmmonitor.ini

MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0 
[GRP1] 
MON_INST_OGUID = 8888 
MON_DW_IP = 10.173.172.145:15238 
MON_DW_IP = 10.173.172.146:15238

8.monitor节点开启监视器进程

dmmonitor /dmdata/dmmonitor.ini

9.root用户下注册数据库&watcher&monitor服务
主节点:

cd /dm8/script/root
./dm_service_installer.sh -t dmserver -p DM01 -dm_ini /dmdata/dm.ini
./dm_service_installer.sh -t dmwatcher -p DM01 -watcher_ini /dmdata/dmwatcher.ini

从节点:

cd /dm8/script/root
./dm_service_installer.sh -t dmserver -p DM02 -dm_ini /dmdata/dm.ini
./dm_service_installer.sh -t dmwatcher -p DM02 -watcher_ini /dmdata/dmwatcher.ini

监视器节点:

cd /dm8/script/root
./dm_service_installer.sh -t dmmonitor -p DMMON -monitor_ini /dmdata/dmmonitor.ini
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服