注册
DM8主备增加单台异步备库
专栏/技术分享/ 文章详情 /

DM8主备增加单台异步备库

管杨 2026/09/30 175 0 0
摘要

前提:异步备库安装数据库,数据库关闭状态:
1.主备库守护进程关闭、数据库关闭
2.监视器关闭
3.主库备份并还原至异步备库!
主库:

cd /home/dmdba/dm/dmdbms/bin
./dmrman
backup database 'dm.ini' backupset '/dbbak/dmbak/BACKUP_FILE_0921';
cd /dbbak/dmbak/
scp -rp BACKUP_FILE_0921/ dmdba@192.168.121.150:/dbbak/dmbak

image.png
image.png
异步备库:

cd /home/dmdba/dm/dmdbms/bin
./dmrman
restore database '/home/dmdba/dm/dmdbms/bin/dm.ini' from backupset '/dbbak/dmbak/BACKUP_FILE_0921';
recover database '/home/dmdba/dm/dmdbms/bin/dm.ini' from backupset '/dbbak/dmbak/BACKUP_FILE_0921';
recover database '/home/dmdba/dm/dmdbms/bin/dm.ini' update db_magic;

image.png

1.主备及异步备库dm.ini配置

1)三台机器配置有异步归档时,打开定时器,定时同步归档到异备库
TIMER_INI = 1
image.png
2)异步备库dm.ini文件还需要改以下字段:

INSTANCE_NAME		= GRP1_LOCAL_01
PORT_NUM		= 5236	#数据库实例监听端口
DW_INACTIVE_INTERVAL	= 60    #接收守护进程消息超时时间
ALTER_MODE_STATUS	= 0	#不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS	= 2	#不允许备库OFFLINE表空间
MAL_INI			= 1	#打开MAL系统
ARCH_INI		= 1	#打开归档配置
TIMER_INI		= 1	#打开定时器,定时同步归档到异步备库。目的是使GRP1_LOCAL_01能够定时发送归档信息到GRP1_LOCAL_02
RLOG_SEND_APPLY_MON	= 64    #统计最近64次的日志重演信息

image.png

2.配置 dmmal.ini(3台机器完全一致)

在原有基础上增加异步备库 GRP1_LOCAL_01的MAL配置项:

[MAL_INST3]
MAL_INST_NAME = GRP1_LOCAL_01 
MAL_HOST = 192.168.121.150
MAL_PORT = 61143
MAL_INST_HOST = 192.168.121.150
MAL_INST_PORT = 5236
MAL_DW_PORT = 52143
MAL_INST_DW_PORT = 33143

image.png

3.配置dmarch.ini(主备新增,异步备库不操作)

1)主备在原因基础上,增加异步归档的配置项

[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC 		#异步归档类型
ARCH_DEST = GRP1_LOCAL_01 	#异步归档目标实例名
ARCH_TIMER_NAME = RT_TIMER      #定时器名称,和dmtimer.ini中的名称一致

image.png
3)若有多台异步备库,dmarch.ini新增以下操作:

[ARCHIVE_ASYNC] 
ARCH_TYPE= ASYNC		#异步归档类型
ARCH_DEST= GRP1_LOCAL_02	#异步归档目标实例名
ARCH_TIMER_NAME= RT_TIMER 	#定时器名称,和dmtimer.ini中的名称一致

4.配置 dmtimer.ini(3台机器一致)

[RT_TIMER] #和dmarch.ini中的ARCH_TIMER_NAME一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:00:00
END_TIME = 23:59:59
DURING_START_DATE = 2016-02-11 17:36:09
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER
IS_VALID = 1

5.异步备库配置dmwatcher.ini

[GRP1]
DW_TYPE = LOCAL #本地守护类型
DW_MODE = MANUAL #故障手动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /home/dmdba/dm/dmdbms/bin/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dm/dmdbms/bin/dmserverd start #命令行方式启动

image.png

#修改启动脚本为mount 
vi dmserverd
START_MODE=mount

cd /home/dmdba/dm/dmdbms/bin
检查 vi dmwatcherd     的home目录
./dmwatcherd start

6.异步备库mount状态被启动,配置OGUID及数据库模式

disql下:

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

image.png

7.启动主备库的dmwatcher,会自动拉起数据库

image.png

8.启动监视器查看状态

./dmmonitord restart
./dmmonitor dmmonitor_0.ini

image.png
image.png

9.配置异步备库守护进程开机自启

cp /home/dmdba/dm/dmdbms/bin/dmwatcherd /etc/init.d/
/lib/systemd/systemd-sysv-install enable dmwatcherd
chkconfig dmwatcherd on
chkconfig dmwatcherd --list
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服