故障现象及分析过程
本次故障是因为aix主机数据库节点3存在大量高并发的insert语句导致sql积压,消耗了大量主机资源,严重影响了数据库的正常运行,最终导致节点3数据库发生重启。

具体分析过程包括以下步骤:
- 收到节点3大量sql积压告警,积压SQL主要为:9yy1zhgjvfbpj。
- 登陆环境核查数据库实例状态及实例启动时间,确认数据库实例状态正常,且实例没有重启。对异常等待事件的sql进行查杀,在20点45分时,节点3发生重启。
- 立即查看数据库相关日志,并确认数据库日志,发现节点3重启。
- 核查查看主机日志,并确认无异常报错信息。节点3主机日志未发现异常。
- 通过检查数据库运行状况,发现节点3上有大量sql积压的等待事件,对应等待事件主要为:enq:us-contention,rowcachelocal行缓存锁;enq:IV-contention队列等待之询问IV。
- 通过核查节点3上sql积压等待事件对应的会话信息,定位到积压sql对应的sql_id。
- 通过sql定位到对应的sql语句。
- 对故障时间段节点3分析,发现等待事件异常最早是20点07分。
- 分析故障时间段哪些SQL占用了资源,发现其中sql_id为9yy1zhgjvfbpj的语句占用了数据库48.24%的DBTIME,主机资源突降至10%以下,说明数据库大部分时间都在对这条sql进行处理。
故障原因和后续改进措施
经过以上分析,认为sql_id为9yy1zhgjvfbpj的语句因高并发且频次突增,引发数据库序列及undo争用,消耗了大量的数据库资源,导致数据库主机hang住并重启。
为了避免类似故障再次发生,需要对应用程序进行优化整改,合理调整sql语句的发起并发量。
本文作者:小本本
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6268.html
