数据库 update 操作慢,我为什么断定是硬件故障

如何完整处理一个故障,聊聊我的思路。

 

技术人人都可以磨炼,但处理问题的思路和角度各有不同,希望这篇文章可以抛砖引玉。

 

图片

 

一、问题背景

 

某业务模块反馈系统涉及提交保存类的操作异常缓慢,应用运维的兄弟排查说update相关的操作卡住了,卡在了数据库。

 

卡在了数据库...留给我一句这,真让人头大。

 

数据库环境:Oracle 19c RAC

操作系统:CentOS Linux release 7.6.1810 (Core) 

存储:EMC存储

 

图片

 

二、故障现象

 

  • 业务系统提交保存类操作异常,应用几乎宕机。

 

图片

 

三、故障说明

 

  • 通过数据库和OS 的监控数据,判断出故障链:节点1等待lgwr进程-->active session升高, 阻塞源lgwr进程在节点2-->io 等待-->操作系统IO使用率100% -->io流量很小,硬件故障。

  • 硬件故障,导致问题的诱因不可控。

 

  • 追溯监控数据,数据库监控关键指标act 和locktop,在故障出现以后出现升高,偏离正常值,这些关键指标,运维平台仪表盘可以用来做为数据库健康度参考指标。

 

图片

 

四、疑问点排查及分析思路

 

 

1、什么时间点开始有异常?异常前有没有做过变更?

 

应用运维的兄弟反映昨天开始出现异常,而且系统已经很久没有做过变更了。

 

ps:很多系统故障都是由变更引发的,提前了解系统做过什么操作对追根溯源很重要

 

2、提交和保存类操作慢,DB是不是有阻塞会话?

 

节点1

图片

 

节点2

图片

 

3、阻塞会话等待什么?

 

两个节点等待和lgwr、control write有关,多次查询等待时有时无。

 

查看pid为34852的会话

 

节点1

图片

 

节点2

图片

 

可以看到节点2卡在了lgwr进程上。

 

检查节点2的io等待情况

 

节点2

图片

 

查看节点2的io流程情况,io绝对值并不大

图片

 

对比节点1的io流量

图片

 

两个节点的io流量绝对值都不大,怀疑是硬件故障

 

查看节点2的io空闲率

 

节点2

图片

 

排查到当前这一步,基本上可以断定存储故障,为了验证一下这个思路,我关闭了节点2实例,业务层面再次发起提交保存类操作速度恢复正常。

 

 

4、解决?

 

rac的io链路是比较长的,如主机上的hba卡,光纤,san交换机,存储控制器,前端口等,都有可能出现问题,我的工作到此结束,解决硬件故障那是服务器厂商的事图片

 

 

长舒一口气,故障处理结束,故障分析处理方案整理成册,争取著作等身。

 

全文结束。

 

聚焦技术与人文,分享干货,共同成长!

更多内容请关注“数据与人”

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值