>  기사  >  데이터 베이스  >  使用ASH信息,发现高CPUsession

使用ASH信息,发现高CPUsession

WBOY
WBOY원래의
2016-06-07 17:18:35950검색

ASH信息是我们Troubleshooting一个很重要的信息来源,当然,我们也不一定要收集一个ASH报告来分析,一般从v$active_session_hist

ASH信息是我们Troubleshooting一个很重要的信息来源,当然,我们也不一定要收集一个ASH报告来分析,一般从v$active_session_history可以得到想要的信息,如果前面视图里已经不存在,那么可以通过DBA_HIST_ACTIVE_SESS_HISTORY来获取需要的信息,看个小例子:昨天某套库的CPU使用一度达到99%,作为维护人员,我们肯定要去关注,查找原因。在主机层面没有发现异常,那么是数据库主机,问题定位在数据库上。

通过如上信息,你可以判断哪些module对CPU使用贡献度最大,你肯定发现PLSQL DEVELOPER执行的sql:1qbw09atztvzn
那么我们再加入session_id来分组,哪些session在使用PLSQL DEVELOPER来执行该SQL.

这么多PLSQL DEVELOPER在执行基本同一sql。接下来,再看看改SQL:

这么一个简单的sql,即使很多session在执行也不至于让CPU持续90%以上,而且这个sql是通过4A平台来执行,一个维护的sql,经常执行的。至于如何导致cpu如此高,因为这些连接都僵死了,但却占用的主机资源。很easy,,干掉它们。

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.