1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

故障处理之数据库节点实例异常重启

故障处理之数据库节点实例异常重启

大家好,我是本站的小编小本本。最近遇到了一起数据库节点实例异常重启的故障,现在我来跟大家分享一下这个故障的处理过程。

故障处理之数据库节点实例异常重启

故障现象和分析过程

下面是我们对故障现象和分析过程的总结:

故障现象:数据库节点3因大量高并发insert语句导致sql积压,从而短时间内消耗大量主机资源,对数据库性能产生了很大影响,严重影响数据库的正常运行,导致节点3数据库发生重启。

分析过程如下:

  1. 20点28分左右,收到节点3大量sql积压短信告警,积压SQL主要为:9yy1zhgjvfbpj。节点3:
  2. 登陆环境核查数据库实例状态及实例启动时间,20点36分确认数据库实例状态正常,且实例没有重启。当即对异常等待事件的sql进行查杀,但是由于应用还在不停的发起连接,在20点45分时节点3发生重启。
  3. 查看主机日志,并确认无异常报错信息。节点3主机日志:
  4. 通过检查数据库运行状况时发现节点3上有大量sql积压的等待事件。
  5. 通过核查节点3上sql积压等待事件对应的会话信息,定位到积压sql对应的sql_id,查到其sql文本就是一个insert语句。
  6. 故障时间段节点3redo变化分析。故障时间段每秒产生的redo量相比正常时间段增长了约180%。
  7. 查看会话变化情况发现从20点15分开始数据库会话开始突增。
  8. 通过分析故障时间段哪些SQL占用了资源,发现其中sql_id为9yy1zhgjvfbpj的语句占用了数据库48.24%的DBTIME。并最终于20:45分CPU资源耗尽导致实例重启。

故障原因和解决方案

下面是我们对故障原因和解决方案的总结:

故障原因:sql_id为9yy1zhgjvfbpj的语句因高并发且频次突增,引发数据库序列及undo争用,消耗了大量的数据库资源,数据库主机最终CPU资源耗尽导致实例重启。

解决方案:

  • 建议一:应用连接降低并发,并查询到该SQL是单次commit,建议修改成批量提交。
  • 建议二:先将高并发insert写入内存库,然后在批量同步至核心库。

以上就是本次故障的处理过程和解决方案了。希望对大家在工作中处理类似问题有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5938.html