注册
主备架构动态增加实时备库
专栏/培训园地/ 文章详情 /

主备架构动态增加实时备库

DM_738629 2026/09/16 67 0 0
摘要

IP地址信息

主机名 服务IP 数据库名 实例名
localhost 192.168.43.4(已有) DAMENG GRP1_RT_01
localhost 192.168.43.5(已有) DAMENG GRP1_RT_02
localhost 192.168.43.6(新增) DAMENG GRP1_RT_03

端口信息

实例名 实例端口(MAL_INST_PORT) MAL 系统监听(MAL_PORT) TCP 连接的端口(MAL_DW_PORT) 守护进程TCP连接端口(MAL_INST_DW_PORT)
GRP1_RT_01 5236 61141 52141 33141
GRP1_RT_02 5236 61141 52141 33141
GRP1_RT_03 5236 61141 52141 33141

存储路径规划

已有架构与新增节点规划一致,便于后期运维。
数据库软件安装路径:/home/dmdba/dmdbms
数据库数据文件路径:/dmdata/data/
数据库归档文件路径:/dmdata/arch
数据库备份文件路径:/dmdata/dmbak

数据库软件安装

参考单机即可

新增节点DM配置

新增节点实例化

已有实例参数配置,除INSTANCE_NAME之外,其余参数配置必须保持一致

su - dmdba
/home/dmdba/dmdbms/bin/dminit  PATH=/dmdata/data INSTANCE_NAME=GRP1_RT_03 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 SYSDBA_PWD=DMdata456 SYSAUDITOR_PWD=DMdata456 

备份还原

主库备份(192.168.43.4)

使用dmdba用户
./disql SYSDBA/DMdata456
backup database backupset '/dmdata/dmbak/bakfull_2_20260825'; 
scp -r /dmdata/dmbak/bakfull_2_20260825 dmdba@192.168.43.6:/dmdata/dmbak/

image.png

新增备节点还原(192.168.43.6)

使用dmdba用户
su - dmdba

使用 dmrman 工具还原新增备库,dmdba 用户执行: 
./dmrman 

执行 restore


RESTORE DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/bakfull_2_20260825';

Recover DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/bakfull_2_20260825';

recover database '/dmdata/data/DAMENG/dm.ini' update db_magic;

image.png

配置dm.ini

修改GRP1_RT_03节点dm.ini,参考主备修改即可

序号 配置项 参数值 配置含义
1 ALTER_MODE_STATUS 0 是否允许手工修改数据库的模式和状态。1表示允许,0表示不允许,此默认为1。
2 ENABLE_OFFLINE_TS 2 是否允许offline表空间,1表示允许,0表示不允许,2表示禁止备库,其他放开。守护环境下建议配置为2。
3 MAL_INI 1 系统配置开关,0表示不启用MAL系统,1表示启用MAL系统。
4 ARCH_INI 1 Redo日志归档配置开关,0表示不启动Redo日志归档,1表示启用Redo日志归档

配置dmarch.ini

GRP1_RT_01

增实时归档GRP1_RT_03

vi /dmdata/data/DAMENG/dmarch.ini

ARCH_RESERVE_TIME=21600          # 归档保留时间
[ARCHIVE_LOCAL1]
ARCH_TYPE        = LOCAL        #本地归档类型
ARCH_DEST        =/dmdata/arch  #本地归档文件存放路径
ARCH_FILE_SIZE   = 2048           #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 102400      #单位 Mb,0 表示无限制,范围 1024~4294967294M

[ARCHIVE_REALTIME1]
ARCH_TYPE        =  REALTIME     #实时归档类型
ARCH_DEST        =  GRP1_RT_02   #实时归档目标实例名
[ARCHIVE_REALTIME2] 
ARCH_TYPE = REALTIME 
ARCH_DEST = GRP1_RT_03

GRP1_RT_02

增实时归档GRP1_RT_03

vi /dmdata/data/DAMENG/dmarch.ini

ARCH_RESERVE_TIME=21600          # 归档保留时间
[ARCHIVE_LOCAL1]
ARCH_TYPE        = LOCAL        #本地归档类型
ARCH_DEST        =/dmdata/arch  #本地归档文件存放路径
ARCH_FILE_SIZE   = 2048           #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 102400      #单位 Mb,0 表示无限制,范围 1024~4294967294M

[ARCHIVE_REALTIME1]
ARCH_TYPE        =  REALTIME     #实时归档类型
ARCH_DEST        =  GRP1_RT_01   #实时归档目标实例名
[ARCHIVE_REALTIME2] 
ARCH_TYPE = REALTIME 
ARCH_DEST = GRP1_RT_03

GRP1_RT_03

vi /dmdata/data/DAMENG/dmarch.ini

ARCH_RESERVE_TIME=21600          # 归档保留时间
[ARCHIVE_REALTIME1]
ARCH_TYPE        =  REALTIME     #实时归档类型
ARCH_DEST        =  GRP1_RT_01   #实时归档目标实例名
[ARCHIVE_REALTIME2] 
ARCH_TYPE = REALTIME 
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE        = LOCAL        #本地归档类型
ARCH_DEST        =/dmdata/arch  #本地归档文件存放路径
ARCH_FILE_SIZE   = 2048           #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 102400      

配置dmmal.ini

GRP1_RT_03新增dmmal配置,具体内容参考原有节点,要保证配置一致

MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间

[MAL_INST1]
MAL_INST_NAME =GRP1_RT_01   #实例名,和dm.ini中的一致
MAL_HOST = 192.168.43.4  #MAL系统监听TCP连接的IP地址
MAL_PORT = 61141   #MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.43.4   #实例的对外服务IP地址
MAL_INST_PORT = 5236   #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 52141   #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 33141   #实例监听守护进程 TCP 连接的端口 (守护V4.0配置,V3.0在dm.ini中配置DW_PORT)

[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST =192.168.43.5
MAL_PORT = 61141
MAL_INST_HOST = 192.168.43.5
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141

[MAL_INST3]
MAL_INST_NAME = GRP1_RT_03
MAL_HOST =192.168.43.6
MAL_PORT = 61141
MAL_INST_HOST = 192.168.43.6
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141

配置dmwatcher.ini

dmwatcher.ini
[GRP1]
DW_TYPE       =  GLOBAL #全局守护类型
DW_MODE       =  AUTO  # 手工切换 AUTO自动切换模式必须部署一个确认监视器
DW_ERROR_TIME    =  10 #远程守护进程故障认定时间
INST_RECOVER_TIME =  60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME  =  10 #本地实例故障认定时间
INST_OGUID     =  20260824 #守护系统唯一 OGUID 值
INST_INI      =  /dmdata/data/DAMENG/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART =  1 #打开实例的自动启动功能
INST_STARTUP_CMD  = /home/dmdba/dmdbms/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD =  0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD =  0 #指定备库重演日志的时间阀值,默认关闭

配置GRP1_RT_03

关闭原有主备集群的数据守护进程,防止有新数据影响数据一致性

使用dmdba用户 cd /home/dmdba/dmdbms/bin 关闭监视器:./DmMonitorServiceMonitor stop 关闭主库守护进程(4):./DmWatcherServiceWatcher stop 关闭备库守护进程(5):./DmWatcherServiceWatcher stop

以 mount 方式启动数据库实例(192.168.43.6)GRP1_RT_03

./dmserver /dmdata/data/DAMENG/dm.ini  mount

在新的终端使用 disql 工具连接数据库:

./disql SYSDBA/DMdata456@192.168.43.6:5236

执行以下命令:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(20260824); 
alter database standby; 
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
exit

执行之后关闭前台启动的43.6服务器数据库

image.png

原有主备动态添加MAL设置

./disql SYSDBA/DMdata456@192.168.43.4:5236 SF_MAL_CONFIG(1,0); SF_MAL_INST_ADD('MAL_INST3','GRP1_RT_03','192.168.43.6',61141,'192.168.43.6',5236,52141,0,33141); SF_MAL_CONFIG_APPLY(); SF_MAL_CONFIG(0,0); alter database add archivelog 'DEST=GRP1_RT_03, TYPE=REALTIME'; exit ./disql SYSDBA/DMdata456@192.168.43.5:5236 SF_MAL_CONFIG(1,0); SF_MAL_INST_ADD('MAL_INST3','GRP1_RT_03','192.168.43.6',61141,'192.168.43.6',5236,52141,0,33141); SF_MAL_CONFIG_APPLY(); SF_MAL_CONFIG(0,0); alter database add archivelog 'DEST=GRP1_RT_03, TYPE=REALTIME'; exit

image.png

注册服务

使用 root 用户,到数据库安装目录的 script/root 下。

./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini 
./dm_service_installer.sh -t dmserver -p GRP1_RT_03 -dm_ini /dmdata/data/DAMENG/dm.ini -m mount


启动集群

cd /home/dmdba/dmdbms/bin 启动监视器:./DmMonitorServiceMonitor stop 启动主库守护进程(4)./DmWatcherServiceWatcher start 启动备库守护进程(5)./DmWatcherServiceWatche start 启动备库守护进程(6)./DmWatcherServiceWatche start 启动备库实例(6)./DmServiceGRP1_RT_03 start

监视器查看(43.4)

su - dmdba
cd /home/dmdba/dmdbms/bin
./dmmonitor dmmonitor.ini
show

image.png

数据同步验证
主库插入数据,并提交

image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服