注册
达梦产品使用技巧-两节点配置实时主备
培训园地/ 文章详情 /

达梦产品使用技巧-两节点配置实时主备

Solreal 2023/07/03 1491 1 0

两节点配置实时主备

准备两台机器,一主一备,确认监视器存放在备库

关闭防火墙

组名 实例名称 实例名称
GRP1 GRP1_RT_01 GRP1_RT_02
IP地址 192.168.23.180 /192.168.23.252 192.168.23.181/192.168.23.202
实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
GRP1_RT_01 5236 33141 192.168.23.180 61141 52141
GRP1_RT_02 32142 33142 192.168.23.181 61142 52141

安装数据库

安装路径:/dm8/data

配置 B节点

初始化实例:

主节点 ./dminit path=/dm8/data instance_name=GRP1_RT_01

备份还原

A节点 启动服务器,配置归档,备份数据库

###前台启动 ./dmserver /dm8/data/DAMENG/dm.ini ###登陆数据库配置归档 ALTER DATABASE MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=512, SPACE_LIMIT=10240'; ALTER DATABASE OPEN; ###备份数据库 BACKUP DATABASE BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE';

修改 dm.ini

cat dm.ini ################################################################################# INSTANCE_NAME=GRP1_RT_01 PORT_NUM=5236 DW_INACTIVE_INTERVAL=60 ALTER_MODE_STATUS=0 ENABLE_OFFLINE_TS=2 MAL_INI=1 RLOG_SEND_APPLY_MON=64 ######可以通过sql快速修改 SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236); SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60); SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0); SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2); SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1); SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

修改dmarch.ini

ARCH_WAIT_APPLY            = 0   #0:高性能 1:事务一致
[ARCHIVE_LOCAL]
ARCH_TYPE                = LOCAL  #本地归档类型
ARCH_DEST                = /opt/dmdbms/data/DAMENG/arch/  #本地归档存放路径
ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB
ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB
#配置实施归档
[ARCHIVE_REALTIME1]      
ARCH_TYPE                = REALTIME  #实时归档类型
ARCH_DEST                = GRP1_RT_02  #实时归档目标实例名

修改dmmal.ini

MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔 MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间 MAL_TEMP_PATH = /dm8/data/malpath/ #临时文件目录 MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩 [MAL_INST1] MAL_INST_NAME = GRP1_RT_01 #实例名,和 dm.ini 的 INSTANCE_NAME 一致 MAL_HOST = 192.168.23.180 #MAL 系统监听 TCP 连接的 IP 地址 MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口 MAL_INST_HOST = 192.168.23.252 #实例的对外服务 IP 地址 MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致 MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 连接的端口 MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口 [MAL_INST2] MAL_INST_NAME = GRP1_RT_02 #实例名称 MAL_HOST = 192.168.23.181 #MAL IP MAL_PORT = 5336 #MAL 端口 MAL_INST_HOST = 192.168.23.202 #实例对外IP MAL_INST_PORT = 5236 #实例对外端口 MAL_DW_PORT = 5436 #实例对应的守护进程监听端口 MAL_INST_DW_PORT = 5536 #实例监听守护进程tcp端口

修改dmwatcher.ini

[GRP1] DW_TYPE = GLOBAL #全局守护类型 DW_MODE = MANUAL #MANUAL:故障手切 AUTO:故障自切 DW_ERROR_TIME = 20 #远程守护进程故障认定时间 INST_ERROR_TIME = 20 #本地实例故障认定时间 INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间 INST_OGUID = 45331 #守护系统唯一 OGUID 值 INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini 文件路径 INST_AUTO_RESTART = 1 #打开实例的自动启动功能 INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动 RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭 RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

拷贝数据库备份文件到B节点

scp -r BACKUP_FILE dmdba@192.168.23.181:/home/dm以dba #备份文件忘记了 可以通过上面备份数据记录进行查看

注册服务

实例 ./dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /dm8/data/DAMENG/dm.ini -m mount #数据库要以mount启动 watecher ./dm_server_install.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini

配置 B节点

初始化实例

备用点 ./dminit path=/dm8/data instance_name=GRP1_RT_02 # 成功之后需要前台启动一次,是否正常启动

还原数据

/dm8/bin/dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' from backupset '/home/dmdba/BACKUP_FILE'" #还原 /dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' from backupset '/home/dmdba/BACKUP_FILE'" #恢复 /dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' update DB_MAGIC" #更新db_magic

配置dmarch.ini

可以复制主节点的配置文件,只需要修改实施归档目标实例名称即可

ARCH_WAIT_APPLY = 0 #0:高性能 1:事务一致 [ARCHIVE_LOCAL] ARCH_TYPE = LOCAL #本地归档类型 ARCH_DEST = /dm8/data/DAMENG/arch/ #本地归档存放路径 ARCH_FILE_SIZE = 1024 #单个归档大小,单位 MB ARCH_SPACE_LIMIT = 51200 #归档上限,单位 MB [ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME #实时归档类型 ARCH_DEST = GRP1_RT_01 #实时归档目标实例名

配置 dm.ini

由于是还原的原因,需要将实例名称修改为设定的GRP1_RT_02

INSTANCE_NAME = GRP1_RT_02 #数据库实例名称 PORT_NUM = 5236 #数据库实例监听端口 DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间 ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间 MAL_INI = 1 #打开 MAL 系统 ARCH_INI = 1 #打开归档配置 RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志重演信息

配置dmmal.ini

配置文件与A节点内容相同可以直接拷贝使用

MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔 MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间 MAL_TEMP_PATH = /dm8/data/malpath/ #临时文件目录 MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩 [MAL_INST1] MAL_INST_NAME = GRP1_RT_01 #实例名,和 dm.ini 的 INSTANCE_NAME 一致 MAL_HOST = 192.168.23.180 #MAL 系统监听 TCP 连接的 IP 地址 MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口 MAL_INST_HOST = 192.168.23.252 #实例的对外服务 IP 地址 MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致 MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 连接的端口 MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口 [MAL_INST2] MAL_INST_NAME = GRP1_RT_02 #实例名称 MAL_HOST = 192.168.23.181 #MAL IP MAL_PORT = 5336 #MAL 端口 MAL_INST_HOST = 192.168.23.202 #实例对外IP MAL_INST_PORT = 5236 #实例对外端口 MAL_DW_PORT = 5436 #实例对应的守护进程监听端口 MAL_INST_DW_PORT = 5536 #实例监听守护进程tcp端口

配置dmwatcher.ini

配置文件与A节点内容相同可以直接拷贝使用

[GRP1]
DW_TYPE                  = GLOBAL     #全局守护类型
DW_MODE                  = MANUAL     #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20         #远程守护进程故障认定时间
INST_ERROR_TIME          = 20         #本地实例故障认定时间
INST_RECOVER_TIME        = 60         #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331      #守护系统唯一 OGUID 值
INST_INI                 = /dm8/data/DAMENG/dm.ini               #dm.ini 文件路径
INST_AUTO_RESTART        = 1          #打开实例的自动启动功能
INST_STARTUP_CMD         = /dm8/bin/dmserver                     #命令行方式启动
RLOG_SEND_THRESHOLD      = 0          #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0          #指定备库重演日志的时间阈值,默认关闭

注册服务

实例 ./dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /dm8/data/DAMENG/dm.ini -m mount ####已mount形式启动 watcher ./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini

配置监视器

  • 手动切换:集群各节点的 bin 目录中,存放非确认监视器配置文件。
  • 自动切换:在确认监视器上(非集群节点),存放确认监视器配置文件,并注册后台自启服务。
  • 只需要配置一台确认监视器即可

创建 dmmonitor.ini

在备节点创建确监视器

vim dmmonitor.ini

MON_DW_CONFIRM             = 1  #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH               = ../log  #监视器日志文件存放路径
MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位 MB

[GRP1]
MON_INST_OGUID           = 45331  #组 GRP1 的唯一 OGUID 值  一组的值要相同
MON_DW_IP                = 192.168.23.180:5436  #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP                = 192.168.23.181:5436

注册服务

./dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /dm8/data/DAMENG/dmmonitor.ini
在A节点创建监视器

拷贝B节点dmmonitor.ini到/dm8/bin/,修改MON_DW_CONFIRM是否是确认监视器,不用注册服务,可以前台启动查看集群状态

MON_DW_CONFIRM = 0 #0:非确认(故障手切) 1:确认(故障自切) MON_LOG_PATH = ../log #监视器日志文件存放路径 MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件 MON_LOG_FILE_SIZE = 512 #单个日志大小,单位 MB MON_LOG_SPACE_LIMIT = 2048 #日志上限,单位 MB [GRP1] MON_INST_OGUID = 45331 #组 GRP1 的唯一 OGUID 值 一组的值要相同 MON_DW_IP = 192.168.23.180:5436 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT MON_DW_IP = 192.168.23.181:5436

监视器使用

命令 含义
list 查看守护进程的配置信息
show global info 查看所有实例组的信息
tip 查看系统当前运行状态
login 登录监视器
logout 退出登录
choose switchoverGRP1 主机正常:查看可切换为主机的实例列表
switchoverGRP1.实例名 主机正常:使用指定组的指定实例,切换为主机
choose takeoverGRP1 主机故障:查看可切换为主机的实例列表
takeoverGRP1.实例名 主机故障:使用指定组的指定实例,切换为主机
choose takeover force GRP1 强制切换:查看可切换为主机的实例列表
takeover force GRP1.实例名 强制切换:使用指定组的指定实例,切换为主机

主机故障后,在备机执行 SELECT SF_DW_CHECK_TAKEOVER(); 【1:可接管;0:不可接管】

启动实例

设置主库,设置OGUID

./DmServiceGRP1_RT_01 start [dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA:5236 服务器[LOCALHOST:5236]:处于普通配置状态 登录使用时间 : 4.869(ms) disql V8 SQL > SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); SQL > SP_SET_OGUID(45331); SQL > ALTER DATABASE PRIMARY; SQL > SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

设置备库,设置OGUID

./DmServiceGRP1_RT_01 start [dmdba@192 bin]$ ./disql SYSDBA/SYSDBA:5236 服务器[LOCALHOST:5236]:处于备库配置状态 登录使用时间 : 2.548(ms) disql V8 SQL > SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); SQL > SP_SET_OGUID(45331); SQL > ALTER DATABASE STANDBY; SQL > SQL > SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

启动守护进程

#主备库启动 ./DmWatcherServiceWatcher start ./DmWatcherServiceWatcher start

启动监视器

./DmMonitorServiceMonitor start

主库监视器启动查看状态

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服