达梦Data Watch数据守护实时主备配置实验

 一、数据守护Data Watch介绍

DM 数据守护 (Data Watch) 是一种集成化的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。通过部署 DM 数据守护,可以在硬件故障(如磁盘损坏)、自然灾害(地震、火灾)等极端情况下,避免数据损坏、丢失,保障数据安全,并且可以快速恢复数据库服务,满足用户不间断提供数据库服务的要求。其实现原理非常简单:将主库(生产库)产生的 REDO 日志传输到备库,备库接收并重新应用 REDO 日志,从而实现备库与主库的数据同步。

DM 数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,为 REDO 日志传输与重演过程中出现的各种异常情况提供一系列的解决方案,其解决方案可以配置成实时主备、MPP 主备读写分离集群,满足用户关于系统可用性、数据安全性、性能等方面的综合需求。

二、实验环境

操作系统 + 数据库:RedHat6 + DM7

主库机器(两块网卡)
192.168.134.138(外网)
192.168.116.133(内网)
备库机器(两块网卡)
192.168.134.141(外网)
192.168.116.134(内网)
监控机器
192.168.116.132(内网)

三、实验步骤

1、三台机器均安装DM7数据库,数据库安装,可以查看达梦官网文档

安装前准备 | 达梦技术文档

2、配置各种服务文件

数据库配置文件dm.ini(主备除实例名端口配置外一致)
数据库控制文件dm.ctl(主备一致,可以复制拷贝)
mal配置文件dmmal.ini(主备一致,可以复制拷贝)
归档配置文件dmarch.ini(主备除实例名外均一致)
守护进程配置文件dmwatcher.ini(主备一致,可以复制拷贝)
确认监视器配置文件dmmonitor.ini(监视机器上)

2.1数据库配置文件dm.ini(主备均需要配置调整
需要注意的参数主要有以下几个:

INSTANCE_NAME:数据库实例名,本次实验主库配置为DMDW_1,备库配置为DMDW_2
PORT_NUM:数据库对外访问提供的端口号,默认5236,本次实验使用默认5236端口
DW_INACTIVE_INTERVAL:接收守护进程超时时间,默认60
ALTER_MODE_STATUS:是否允许手工修改数据库模式和状态,默认为0,表示不允许修改,本次实例采用默认0,实验中有SQL命令调整该参数
ENABLE_OFFLINE_TS:是否允许offline表空间,1表示允许,0表示不允许,2表示禁止备库,其他放开,守护环境建议配置2,本次实验配置为2
MAL_INI:系统配置开关,0表示不启用MAL配置系统,1表示启用,本次实验配置为1
ARCH_INI:归档日志配置开关,1表示启用redo归档配置,0表示不启用,本次实验配置为1
RLOG_SEND_APPLY_MON:统计最近日志发送消息次数,默认配置64,本次配置为64
DW_PORT:与dmmal.ini中参数MAL_INS_DW_PORT一致,本次实验主库配置为33141,备库配置为33142

2.2 配置dmmal.ini参数(主备均配置,需要一致
 

cat /dm/data/DAMENG/dmmal.ini 
MAL_CHECK_INTERVAL = 5 				##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 			##判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMDW_1 		##实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.116.133	##MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 		##MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.134.138	##实例的对外服务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,本次实验在dm.ini中配置了DW_PORT
[MAL_INST2]
MAL_INST_NAME = DMDW_2
MAL_HOST = 192.168.116.134
MAL_PORT = 61142
MAL_INST_HOST = 192.168.134.141
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
#MAL_INST_DW_PORT = 33142   ##实例监听守护进程TCP连接的端口,守护V4.0配置,V3.0在dm.ini中配置DW_PORT,本次实验在dm.ini中配置了DW_PORT

2.3配置归档dmarch.ini参数(主备均配置,一般情况下均一致)

[root@localhost bin]# cat /dm/data/DAMENG/dmarch.ini 
#DaMeng Database Archive Configuration file
#this is comments
[ARCHIVE_REALTIME]
ARCH_TYPE=REALTIME
ARCH_DEST=DMDW_2

[ARCHIVE_LOCAL1]
	ARCH_TYPE			= LOCAL        
	ARCH_DEST			= /dm/arch        
	ARCH_FILE_SIZE		= 64        
	ARCH_SPACE_LIMIT		= 102400   

注意:ARCH_TYPE=REALTIME,读写分离集群配置此参数为TIMELY;
ARCH_DEST=DMDW_2,主库配置指向备库的INSTANCE_NAME;备库此参数修改为DMDW_1,即备库配置指向主库INSTANCE_NAME;

2.4 配置dmwatcher.ini参数(主备均配置一致

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

2.5 配置dmwatcher.ctl(主库生成,拷贝到主备库对应路径

dmwatcher.ctl配置文件需要用命令生成(守护V4.0不需要生成该配置文件,此次实验需要),主库上生成该配置文件后,拷贝复制到主备库的/dm/data/DAMENG子目录下即可
 

[dmdba@localhost bin]$ ./dmctlcvt t2dwctl /dm/data/DAMENG/dmwatcher.ini /dm/data/
DMCTLCVT V7.6.1.108-Build(2021.06.30-142705-10017)ENT 
convert txt to ctl success!
[dmdba@localhost bin]$ ls /dm/data/DMDW_1/
dmwatcher.ctl
[dmdba@localhost bin]$ cp /dm/data/DMDW_1/dmwatcher.ctl /dm/data/DAMENG/
[dmdba@localhost bin]$ scp /dm/data/DMDW_1/dmwatcher.ctl root@192.168.134.141:/dm/data/DAMENG/
root@192.168.134.141's password: 
dmwatcher.ctl                                                                     100%  512     0.5KB/s   00:00    

3、以mount方式启动主备库(主备库都是mount启动
数据库安装目录的bin子目录下执行命令:
./dmserver /dm/data/DAMENG/dm.ini mount

4、设置主备库的OGUID值(主备库都执行,设置的值一致)
sp_set_oguid(453331)

5、设置主库模式为primary,备库设置为standbay 

配置主库:

服务器[LOCALHOST:5236]:处于主库配置状态
登录使用时间: 40.766(毫秒)
SQL> 
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
已用时间: 171.166(毫秒). 执行号:1.
SQL> alter database primary;
操作已执行
已用时间: 63.868(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 22.902(毫秒). 执行号:2.
SQL> exit

配置备库:

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
已用时间: 456.975(毫秒). 执行号:2.
SQL> alter database standby;
操作已执行
已用时间: 95.950(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); 
DMSQL 过程已成功完成
已用时间: 22.918(毫秒). 执行号:3.
SQL> exit

6、确认以上配置归档日志、oguid、mal配置是否生效(主备库均查询确认):

select arch_mode from v$database;
select arch_name,arch_type,arch_dest from v$DM_arch_ini;
select oguid from v$instance;
select * from v$DM_mal_ini;

7、配置监视器 (监视机器上操作

编辑dmmonitor.ini配置监视器,在监视机器上配置监视器,dmmonitor.ini配置文件中的配置项的值,要与守护进程配置文件dmwatcher.ini对应配置项保持一致,具体配置如下:

[dmdba@localhost ~]$ cat /dm/data/DAMENG/dmmonitor.ini 
MON_DW_CONFIRM = 1 			##确认监视器模式

MON_LOG_PATH = /dm/data/log ##监视器日志文件存放路径

MON_LOG_INTERVAL = 60 		##每隔60s定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 		##每个日志文件最大32M

MON_LOG_SPACE_LIMIT = 0 	##不限定日志文件总占用空间

[DMDW_1]
MON_INST_OGUID = 453331 ##组GRP1的唯一OGUID值
#以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
#IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT,本次实验对应的是dm.ini中的DW_PORT

MON_DW_IP = 192.168.116.133:52141

MON_DW_IP = 192.168.116.134:52142

8、配置守护进程开机自启(注册服务,主备库均需要操作,和安装数据库时注册服务一样)
/dm/script/root/dm_service_installer.sh -t dmwatcher -p QHK -i /dm/data/DAMENG/dmwatcher.ini

-t:服务类型
-p: 服务名
-i:配置文件路径

[root@localhost bin]# /dm/script/root/dm_service_installer.sh -t dmwatcher -p QHK -i /dm/data/DAMENG/dmwatcher.ini
移动服务脚本文件(/dm/bin/DmWatcherServiceQHK 到 /etc/rc.d/init.d/DmWatcherServiceQHK)
创建服务(DmWatcherServiceQHK)完成

 9、启动守护进程服务(主备库均操作):

10、启动monitor监视器查询确认主备(监视机器上操作):

./monitor /dm/data/DAMENG/dmmonitor.ini

11、主备数据同步测试:

至此 ,Data Watch数据守护主备模式完成,关于数据守护读写分离等其他功能,后续另做介绍,了解更多,可访问达梦官网文档
数据守护和读写分离集群 | 达梦技术文档

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值