DM数据守护集群的使用(一)

在前面博客数据守护集群搭建中介绍了如何搭建一主一备的数据守护集群,有兴趣的可以去看看,这次介绍一下关于数据守护集群运行时的主备切换。在正常运行状态中,主库、备库、主库守护进程、备库守护进程都处于open状态,守护进程控制文件处于Valid有效状态,主库到备库的归档也属于Valid有效状态。刚开始Standby/Primary模式下的库启动后会自动进入Mount状态,守护进程会自动将数据库实例切换到open状态,将守护进程状态也切换到open状态。
下面使用Xshell工具连接虚拟机,Xshell工具在管理集群时非常方便。
从官网下载xshell,安装完成后打开:
点击新建会话,输入会话名称、主机ip、点击连接。
在这里插入图片描述
会提示输入要登录的用户名和密码
在这里插入图片描述
在这里插入图片描述

1.启动守护进程

手动启动守护进程时对守护进程、数据库实例、监视器的启动顺序没有严格要求。下面使用注册服务的方式启动,如果没有对守护进程、数据库实例、监视器注册服务,可使用root用户到数据库安装目录下的/script/root下使用dm_service_installer.sh注册服务。

启动主库实例和主库守护进程:

./DmServiceDMSERVER start
./DmWatcherServiceDM01 start

在这里插入图片描述
启动备库实例和守护进程

./DmServiceDMSERVER start
./DmWatcherServiceDM02 start

在这里插入图片描述
以前台方式启动监视器,可以显示监视器窗口

./dmmonitor /dm8/data/DAMENG/dmmonitor.ini

在这里插入图片描述
启动之后在监视器窗口输入show,可以看到主库实例和备库实例都处于open状态
在这里插入图片描述

1.手动切换

在监视器窗口输入login,输入用户名和密码
输入switchover 守护组名.实例名
在这里插入图片描述
切换成功,输入show命令查看
在这里插入图片描述
GRP1_RT_01变成了primary模式,GRP1_RT_02变成了Standby模式。
此时登录主库查看是否是primary模式
在这里插入图片描述
这里报了一个错,改变了默认端口之后要带上ip和端口号。
在这里插入图片描述
可以看到主库已经变成了primary模式。

2.自动切换

2.1 停进程

备库被kill掉数据库服务进程,

ps -ef | grep dms

在这里插入图片描述

kill -9 14740

在这里插入图片描述
当数据库备库服务被kill掉之后,守护进程会很快将其拉起。主备集群未发生主备切换
在这里插入图片描述
同样kill掉主库数据库服务时,监控器监控到主库异常,发生主备切换
在这里插入图片描述
当原来的主库被重新拉起后会重新加入,变成备库状态。

2.2 停数据库服务

1.备库停数据守护服务
在这里插入图片描述
监视器端收不到备库信息。
在这里插入图片描述
接着备库停数据库服务。
在这里插入图片描述
输入tip命令,监视器检测到备库异常。
在这里插入图片描述
重启备库数据库服务和守护服务
在这里插入图片描述
监视器接收到备库信息,备库重新加入集群中
在这里插入图片描述
2.主库停数据守护服务
在这里插入图片描述
监视器端接收主库信息超时
在这里插入图片描述
接着主库停数据库服务
在这里插入图片描述
监视器检测到主库故障,原先的备库切换为主库。
在这里插入图片描述
在故障自动切换模式或手动切换模式下,主库故障,备库(GRP1_RT_02)接管都会执行下面的流程:
1.监视器通知守护进程(GRP1_RT_02)切换为 Takeover 状态
2. 通知备库(GRP1_RT_02) APPLY KEEP_PKG
3. 通知备库(GRP1_RT_02) Mount
4. 通知(GRP1_RT_02)切换为 Primary 模式
5. 通知(GRP1_RT_02) 修改到所有归档目标的归档状态为 Invalid
6. 通知新的主库(GRP1_RT_02) Open
7. 通知守护进程(GRP1_RT_02)切换为 Open 状态

重启主库守护服务和数据库服务。
在这里插入图片描述
监视器接收到GRP1_RT_01信息,GRP1_RT_01以备库形式加入集群。
在这里插入图片描述
在这里插入图片描述
在测试过程中发现停数据库实例进程还可以被守护进程重新拉起,停数据库守护服务之后就要人工干预。

3 主备集群测试

主库上建表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主库上要提交事务,备库上才能查看到表里新插入的数据。
备库上查看:
在这里插入图片描述

4 关闭数据守护集群

方法一:最简单的方法,在监视器命令行使用Stop Group命令,执行流程如下:通知守护基础切换为Shutdown状态,通知主库退出,通知备库退出。最后数据库实例关闭,但守护进程没有真正退出。
方法二:按照顺序手动关闭集群
1.关闭确认监视器(防止自动接管)
2.关闭备库守护进程(防止重启实例)
3. 关闭主库守护进程(防止重启实例)
4. Shutdown 主库
5. Shutdown 备库
在上述顺序中2、3要在4、5前面,退出顺序不对可能会引起主备切换或守护组分裂。2、3没有严格的顺序,4、5没有严格的顺序。
以前台方式启动的在监视器命令行输入exit退出
在这里插入图片描述
在这里插入图片描述
关闭备库守护进程
在这里插入图片描述
关闭主库守护进程
在这里插入图片描述

关闭主库数据库实例
在这里插入图片描述

关闭备库数据库实例
在这里插入图片描述
查看数据库实例服务状态出现了一个错,DmServiceDMSERVER dead but pid file exists,经过查资料有很多解决办法,试了找到对应的pid文件删除,发现没有
在这里插入图片描述
最后可能的原因是监视器可能关闭主、备库的进程,但pid会残留,此时需要手杀实例进程,ps -ef | grep dms
在这里插入图片描述
最后查看主库
在这里插入图片描述
查看备库
在这里插入图片描述
关闭成功。
更多学习内容请访问达梦在线服务平台

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值