注册
记一次主备集群故障处理过程

记一次主备集群故障处理过程

lz 2021/11/25 2069 3 0
摘要 本文主要结合一次非典型问题了解主备集群的数据库服务状态变化

问题现象

某项目现场分别重启主机和备机后出现集群无法正常提供服务,通过监视器查看信息发现:主机DM2的实例状态是after redo,备机DM2的归档状态是UNVALID。
image.png

原因分析

1、查看DM2的数据库服务日志,启动过程中已提示system is ready

image.png

2、通过disql登录主机DM2的服务,disql卡住无法登录正常,登录备机DM1服务可正常登录

3、通过登录监视器执行命令open DM2,提示不符合open force条件

image.png

4、通过以上信息确认DM2服务启动异常,结合手册中对数据库集群状态的介绍

Mount 状态:数据库在 Mount 状态下,不能修改数据,不能访问表、视图等数据库对象,但可以执行修改归档配置、控制文件和修改数据库模式等操作,也可以执行一些不修改数据库内容的操作。
After Redo 状态:系统启动过程中联机日志重做完成后,回滚活动事务前设置为 After Redo 状态。非Standby 模式的实例在执行 alter database open 操作前,也会将系统设置为 After Redo 状态。
Open 状态:数据库处于正常提供服务的状态,但不能进行归档配置等操作。
数据守护集群的主机服务状态变化是先以mount状态启动,然后切换成after redo,最后切换成open。其中 mount状态是完成数据库的redo操作,after redo状态是完成数据库的undo操作,redo和undo都完成后才会切换成open。
重启前应用进行了大量的修改和插入数据操作,ROLL.DBF文件大小为36GB,确认上述问题产生的原因是DM2服务启动过程中undo出现异常。
image.png

解决方法

首先修改DM2服务的ini参数PSEG_RECV=0,然后启动DM2,通过监视器查看集群状态恢复正常。然后再修改ini参数PSEG_RECV=1,重启数据库服务。
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服