总结:此次故障分析原因为 1 网络带宽被耗尽,数据库无法正常接收到程序的sql请求,当带宽正常后,数据库接收到大量的sql请求,包括user calls 以及parse calls大幅度提升。
1 活动会话历史趋向
select to_char(sample_time,'yyyy-mm-dd hh24:mi:ss'),count(1)
from dba_hist_active_sess_history
where sample_time>sysdate-2/24
and sample_time<sysdate-1/24
group by to_char(sample_time,'yyyy-mm-dd hh24:mi:ss')
如果数据库存在异常,或者突然增加幅度较大,则此时用户请求以及
via receive message bytes from client,user calls parse count,transaction个数
案例2 :
问题现象:
中午11点应用服务器连接突然大增,超过连接数限制,processesz值 。
暂时处理方案:KILL 进程。
除了KILL进程外,一致在观察等待事件,无任何异常。
如果进程大增,那么一定是哪里出现了严重的阻塞导致进程大增。但是等待正常。
每隔10s从数据库抓取一些关键信息,信息来源V$SYSSTAT
图形3个指标从上到下一次为 执行次数,调用次数,解析次数
我们不难发现在11.20分前出现突然下滑,之后又突然飙升,升高之后又恢复正常,
问题来了??????
调用次数,执行次数,解析次数下降说明用户不再执行sql语句了,又没有等待事件阻塞着用户,那么是什么原因导致用户不再执行sql语句了??????用户突然无法把需求发送给数据库????? 只能是网络。。。
另外开发人员查看sql程序,无法完成则循环进行连接尝试这样会导致 一旦无法连接而 恢复正常后会有大量的连接涌入。
问题处理
11.20 MYSQL大量信息同步导致带宽被大量消耗,数据库sql请求无法被传到数据库。
执行次数的先低后高,无异常的等待事件,范围不再oracle。