异步备库部署

本文详细介绍了如何搭建和配置DM8数据库的异步备库,包括数据准备、主库和备库的配置、环境设置以及监控器的配置。备库适用于历史数据统计和周期报表等对实时性要求不高的业务,通过在源库空闲时进行数据同步,避免对性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异步备库部署

异步备库的搭建背景

异步备库一般用于历史数据统计、周期报表等对数据实时性要求不高的业务场合。异步归档时机可以选择在源库空闲的时候,可避免源库的业务高峰期同步数据对性能的影响

异步备库环境配置
primary: 10.206.5.55 10.206.5.60
HA做主:vip: 10.206.5.31
standby 10.206.5.56 10.206.5.57

一、数据准备
1.安装主库(160安装软件和实例,155安装软件)
1)安装数据库
2)初始化数据库
3)启动DM8服务器
cd /tmp
sh install.sh
cd /dm8/dmdbms/bin
./disql SYSDBA/xxxxx:5236

2.安装备库

1).主库备份
./dmrman CTLSTMT=“BACKUP DATABASE ‘/dmdata/5236/test2/dm.ini’ FULL TO BACKUP_FILE1 BACKUPSET ‘/dmdata/5236/test2/BACKUP_FILE_01’”
2)安装数据库 不初始化数据库 不启动数据库

3)拷贝备份文件到备库,对备库进行脱机还原
./dmrman CTLSTMT=“CHECK BACKUPSET ‘/dmdata/5236/test2/BACKUP_FILE_01’”
./dmrman CTLSTMT=“RESTORE DATABASE ‘/dmdata/5236/DM02/dm.ini’ FROM BACKUPSET ‘/dmdata/BACKUP_FILE_01’”
./dmrman CTLSTMT=“RECOVER DATABASE ‘/dmdata/5236/DM02/dm.ini’ FROM BACKUPSET ‘/dmdata/BACKUP_FILE_01’”
./dmrman CTLSTMT=“RECOVER DATABASE ‘/dmdata/5236/DM02/dm.ini’ UPDATE DB_MAGIC”

./dmrman CTLSTMT=“RESTORE DATABASE ‘/dmdata/5236/DM03/dm.ini’ FROM BACKUPSET ‘/dmdata/BACKUP_FILE_01’”
./dmrman CTLSTMT=“RECOVER DATABASE ‘/dmdata/5236/DM03/dm.ini’ FROM BACKUPSET ‘/dmdata/BACKUP_FILE_01’”
./dmrman CTLSTMT=“RECOVER DATABASE ‘/dmdata/5236/DM03/dm.ini’ UPDATE DB_MAGIC”

备份之前要重启ap服务,配置归档,注册服务
./dm_service_installer.sh -t dmserver -p DM03 -dm_ini /dmdata/5236/test2/dmr.ini mount

二.配置主库

1.修改配置文件
(1)dm.ini
SYSDBA用户执行
call SF_SET_SYSTEM_PARA_VALUE (‘TIMER_INI’,1,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘DW_INACTIVE_INTERVAL’,60,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ALTER_MODE_STATUS’,0,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ENABLE_OFFLINE_TS’,2,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘MAL_INI’,1,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘RLOG_SEND_APPLY_MON’,100,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ARCH_INI’,1,1,2);
(2)配置dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME =DM01 #实例名,和dm.ini中的一致
MAL_HOST = 10.206.5.131 #MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 10.206.5.131 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT =33141

[MAL_INST2]
MAL_INST_NAME = DM02 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 10.206.5.156 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61142 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 10.206.5.156 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52142 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33142 #实例监听守护进程 TCP 连接的端口

[MAL_INST3]
MAL_INST_NAME = DM03 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 10.206.5.157 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61143 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 10.206.5.157 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52143 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33143 #实例监听守护进程 TCP 连接的端口

(3)增加dmarch.ini配置
[ARCHIVE_ASYNC1]
ARCH_TYPE = ASYNC #异步归档类型
ARCH_DEST = DM02 #异步归档目标实例名
[ARCHIVE_ASYNC2]
ARCH_TYPE = ASYNC #异步归档类型
ARCH_DEST = DM03 #异步归档目标实例名

ARCH_TIMER_NAME = RT_TIMER #定时器名称,和 dmtimer.ini 中的名称一致
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

(4)配置dmtimer.ini
[RT_TIMER1] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2 #定时器调度类型
FREQ_MONTH_WEEK_INTERVAL = 1#间隔月数或周数
FREQ_SUB_INTERVAL = 1#间隔天数
FREQ_MINUTE_INTERVAL = 1 #间隔分钟数
START_TIME = 00:00:00 #开始时间
END_TIME = 00:00:00 #结束时间
DURING_START_DATE = 2020-09-11 17:36:09 #开始时间点
DURING_END_DATE = 9999-12-31 23:59:59 #结束时间点
NO_END_DATE_FLAG = 1 #是否结束标志
DESCRIBE = RT TIMER #定时器描述
IS_VALID = 1 #有效标记

[RT_TIMER2] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2 #定时器调度类型
FREQ_MONTH_WEEK_INTERVAL = 1#间隔月数或周数
FREQ_SUB_INTERVAL = 1#间隔天数
FREQ_MINUTE_INTERVAL = 1 #间隔分钟数
START_TIME = 00:00:00 #开始时间
END_TIME = 00:00:00 #结束时间
DURING_START_DATE = 2020-09-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_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一OGUID值
INST_INI = /dmdata/5236/test2/DAMENG/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动拉起功能
INST_STARTUP_CMD = /dm8/bin/dmserver#命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭
(6)启动主库
./dmserver /dmdata/5236/test2/dm.ini mount
(7)设置OGUID
进入SQL界面
cd /dm8/bin
./disql SYSDBA/Ceb_20201127_dm_db:5236
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
SP_SET_OGUID(453331);
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);

SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
alter database primary;
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);

(8)注册watcher 服务
root用户
cd /dm8/script/root/
./dm_service_installer.sh -t dmwatcher -p DM03 -watcher_ini /dmdata/5236/test2/dmwatcher.ini

三、配置异步备库

(1)dm.ini
SYSDBA用户执行
call SF_SET_SYSTEM_PARA_VALUE (‘PORT_NUM’,5236,1,2);
–call SF_SET_SYSTEM_PARA_VALUE (‘DW_INACTIVE_INTERVAL’,60,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ALTER_MODE_STATUS’,0,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ENABLE_OFFLINE_TS’,2,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘MAL_INI’,1,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ARCH_INI’,1,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘RLOG_SEND_APPLY_MON’,100,1,2);
(2)配置dmmal.ini
和主库一致

(3)配置dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 1024

(4)配置dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL #实时守护类型
DW_MODE = MANUAL #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一OGUID值
INST_INI = /dmdata/5236/DM02/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动拉起功能
INST_STARTUP_CMD = /dm8/bin/dmserver#命令行方式启动
#RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
#RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

(5)启动异步备库
./dmserver /dmdata/5236/DM02/dm.ini mount
(6)设置OGUID
进入SQL界面
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/Ceb_20201127_dm_db:5236
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
SP_SET_OGUID(453331);
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);
(6)修改数据库模式
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/Ceb_20201127_dm_db:5236
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
alter database standby;
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);

(7)注册watcher 服务
root用户
cd /dm8/script/root/
./dm_service_installer.sh -t dmwatcher -p DM03 -watcher_ini /dmdata/5236/DM02/dmwatcher.ini

四、配置第二台异步备库

(1)dm.ini
SYSDBA用户执行
call SF_SET_SYSTEM_PARA_VALUE (‘PORT_NUM’,5236,1,2);
–call SF_SET_SYSTEM_PARA_VALUE (‘DW_INACTIVE_INTERVAL’,60,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ALTER_MODE_STATUS’,0,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ENABLE_OFFLINE_TS’,2,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘MAL_INI’,1,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘ARCH_INI’,1,1,2);
call SF_SET_SYSTEM_PARA_VALUE (‘RLOG_SEND_APPLY_MON’,100,1,2);
(2)配置dmmal.ini
和主库一致

(3)配置dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 1024

(4)配置dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL #实时守护类型
DW_MODE = MANUAL #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一OGUID值
INST_INI = /dmdata/5236/DM03/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动拉起功能
INST_STARTUP_CMD = /dm8/bin/dmserver#命令行方式启动
#RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
#RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

(5)启动异步备库
./dmserver /dmdata/5236/DM03/dm.ini mount
(6)设置OGUID
进入SQL界面
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/Ceb_20201127_dm_db:5236
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
SP_SET_OGUID(453331);
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);
(6)修改数据库模式
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/Ceb_20201127_dm_db:5236
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,1);
alter database standby;
SP_SET_PARA_VALUE(1,‘ALTER_MODE_STATUS’,0);

(7)注册watcher 服务
root用户
cd /dm8/script/root/
./dm_service_installer.sh -t dmwatcher -p DM03 -watcher_ini /dmdata/5236/DM03/dmwatcher.ini

五、配置监视器

./dm_service_installer.sh -t dmserver
1.修改 dmmonitor.ini配置
MON_DW_Confirm = 1 #确认监视器模式
MON_LOG_PATH = /dmdata/dmmonitorlog/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST, PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 10.206.5.131:52141
MON_DW_IP =10.206.5.156:52142
MON_DW_IP =10.206.5.157:52143

六、启动服务

1)启动主库server:
su - dmdba
cd /dm8/bin
./DmServicetest2 start

2)分别启动两个备库server
./DmServiceDM02 start
./DmServiceDM03 start

3)启动主库watcher
cd /dm8/bin
./DmWatcherServicetest2 start

4)分别启动两个备库watcher
./DmWatcherServiceDM02 start
./DmWatcherServiceDM03 start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值