暂无图片
暂无图片
暂无图片
暂无图片
3
暂无图片

3节点RAC故障分析案例

白鳝的洞穴 2020-01-10
1292

问题描述

某日,客户的系统突然出现故障,业务系统无法使用。DBA发现三节点的集群突然变慢,其中1号和2号节点的数据库均无法正常使用。

晚上19点左右接到报障后,老白立即远程登录进行处理,由于当时是客户的业务高峰期,因此首要是恢复系统运行,然后再开展问题调查,消除故障隐患。

通过HANGANALYZE分析发现1节点大量会话HANG住,并且存在大量GCBUFFER BUSY WAIT等待的会话,杀掉其中几个阻塞严重的会话后,ZZZOSS1恢复正常。

在处理ZZZOSS2的时候发现2号节点也存在大量HANG住情况,杀了数个阻塞会话后,仍无法恢复,只能采取重启的方式。重启2号节点后,系统恢复正常。

分析过程

  通过ALERT LOG检查发现,18:53ZZZOSS3出现了故障,并且进行了自动重启,自动重启后,就出现了集群3个节点全部HANG住的现象。HANG住的主要原因是ZZZOSS1,ZZZOSS2在帮助ZZZOSS3做实例恢复时出现了大量的全局热块冲突,从而导致RACINTERCONNECT故障。ZZZOSS3被驱逐的主要原因是18:52分时ZZZOSS1,ZZZOSS2ZZZOSS3lms通讯突然发生异常。从而导致ZZZOSS1,ZZZOSS2认为ZZZOSS3出现了故障,从而驱逐ZZZOSS3

 

通过对ZZZOSS3相关LMS进程日志的分析发现:

LMS进程在等待56/57号闩锁,通过V$LATCHNAME查一下相关闩锁的名称:

56号闩锁是OS PROCESSrequest allocation,这和进程的内存分配有关,57号闩锁是kair sgalatch,和SGA内存管理有关。出现这两个闩锁等待,首先怀疑是操作系统的内存出现了问题。

于是检查ZZZOSS3nmon日志,发现从18:45分左右开始,物理内存空闲比例大幅度下降,并且在18:51分开始出现了大量的系统换页。从而可以初步断定操作系统换页是该问题的最主要原因。

 

故障原因

1、  由于几天前客户做操作系统升级失败,操作系统升级回退后,以前调整过的参数maxperm%恢复为系统缺省的80%(为防止类似故障出现,之前3个节点的maxperm%都已经修改为15%),因此大量物理内存被文件缓冲占用,一旦系统有大内存需要,可能导致严重换页,从而导致LMS进程无法获得足够的操作系统资源和时间片,和其他节点通讯异常,从而导致节点分裂

2、 节点分裂后,在做实例恢复的时候,出现了RAC GCS问题,而DRM没有关闭,从而导致数据库HANG

 

处理方案

 

1、maxperm%修改为15%

2、关闭DRM

 


最后修改时间:2020-01-12 20:18:27
文章转载自 白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

5年前
评论
暂无图片 1
这个类似的情况我曾也遇到过,当时是从MOS 参考的一篇案例介绍解决的
5年前
暂无图片 1
评论
5年前
评论
暂无图片 0
这个类似的情况我曾也遇到过,当时是从MOS
5年前
暂无图片 点赞
评论
5年前
评论
暂无图片 0
这种
5年前
暂无图片 点赞
评论