注册
异步备库环境搭建
技术分享/ 文章详情 /

异步备库环境搭建

被淹死的鱼 2025/04/30 105 0 0

在实际应用中,如果数据库规模很大,并且对数据的实时性要求不是很严格,则可以配
置多个异步备库用于分担统计报表等任务。
异步备库支持多源配置,目的是在实时或即时主备环境中,当主备库切换或者主库故障
时,备库接管以后可以继续向同一个异步备库同步数据,因此如果主库配置了异步备库,在
所有备库上也需要配置相同的异步备库,备库只有在切换为主库时才会向其同步数据

一、两节点异步备库环境搭建

–修改dm.ini参数(节点1节点2都需更改)
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #开启mal参数
ARCH_INI = 1 #开启归档参数
TIMER_INI = 1 #配置有异步归档时,打开定时器,定时同步归档到异备库

–备份数据库
backup database ‘/dmdata/CRM/DAMENG/dm.ini’ backupset ‘/dmdata/CRM/DAMENG/bak’

–配置归档
dmarch.ini–节点1
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC
ARCH_DEST = CRM02
ARCH_TIMER_NAME = RT_TIMER
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 2048 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 952320 #单位 Mb,0 表示无限制,注意限制归档空间大小,防止磁盘撑爆,根据实际环境更改

dmarch.ini–节点2(异地备库不需要配置远程归档)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 2048 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 952320 #单位 Mb,0 表示无限制,注意限制归档空间大小,防止磁盘撑爆,根据实际环境更改

–配置mal通讯
dmmal.ini–1.2节点一样
MAL_CHECK_INTERVAL = 30
MAL_CONN_FAIL_INTERVAL = 30
[MAL_INST1]
MAL_INST_NAME = CRM01
MAL_HOST = 30.30.30.207
MAL_PORT = 61141
MAL_INST_HOST = 10.77.18.57
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141
[MAL_INST2]
MAL_INST_NAME = CRM02
MAL_HOST = 30.30.30.208
MAL_PORT = 61142
MAL_INST_HOST = 10.77.18.58
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142

–配置dmwatcher守护服务
dmwatcher.ini–节点1
[CRM]
DW_TYPE = LOCAL
DW_MODE = MANUAL
DW_ERROR_TIME = 30
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 30
INST_OGUID = 453331
INST_INI = /dmdata/CRM/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceCRM57 restart
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

—dmwatcher.ini–节点2
[CRM]
DW_TYPE = LOCAL
DW_MODE = MANUAL
DW_ERROR_TIME = 30
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 30
INST_OGUID = 453331
INST_INI = /dmdata/CRM/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceCRM58 restart
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

—配置定时任务
–dmtimer.ini节点1
–INTERVAL = 5每5秒同步一次

[RT_TIMER]
TYPE = 10
FREQ_MONTH_WEEK_INTERVAL =
FREQ_SUB_INTERVAL =
FREQ_MINUTE_INTERVAL =
REPEAT_INTERVAL= FREQ=SECONDLY;INTERVAL = 5
START_TIME = 10:34:00
END_TIME =
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

–dmtimer.ini节点2
[RT_TIMER]
TYPE = 10
FREQ_MONTH_WEEK_INTERVAL =
FREQ_SUB_INTERVAL =
FREQ_MINUTE_INTERVAL =
REPEAT_INTERVAL= FREQ=SECONDLY;INTERVAL = 5
START_TIME = 10:34:00
END_TIME =
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
–异地备库还原
RESTORE DATABASE ‘/dmdata/CRM/DAMENG/dm.ini’ FROM BACKUPSET ‘/dmdata/CRM/DAMENG/bak’
RECOVER DATABASE ‘/dmdata/CRM/DAMENG/dm.ini’ FROM BACKUPSET ‘/dmdata/CRM/DAMENG/bak’
RECOVER DATABASE ‘/dmdata/CRM/DAMENG/dm.ini’ UPDATE DB_MAGIC

–节点1注册脚本
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p CRM57 -dm_ini /dmdata/CRM/DAMENG/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p CRM57 -watcher_ini /dmdata/CRM/DAMENG/dmwatcher.ini
–节点2注册脚本
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p CRM58 -dm_ini /dmdata/CRM/DAMENG/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p CRM58 -watcher_ini /dmdata/CRM/DAMENG/dmwatcher.ini

–节点1设置数据库模式
./disql SYSDBA/’“Dameng@2025”’
SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
SQL> SP_SET_OGUID(453331);
SQL> ALTER DATABASE PRIMARY;
SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

–节点2设置数据库模式
SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
SQL> SP_SET_OGUID(453331);
SQL> ALTER DATABASE STANDBY;
SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

–配置监视器
dmmonitor.ini
MON_DW_CONFIRM = 0
MON_LOG_PATH = /dmdata/monitor_log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 4096 #不限定日志文件总占用空间
[CRM]
MON_INST_OGUID = 453331
MON_DW_IP = 30.30.30.207:52141
MON_DW_IP = 30.30.30.208:52142

–注册监视器服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /dmdata/CRM/DAMENG/dmmonitor_auto.ini

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服