如何根据awr报告查看最慢的sql语句

分类:编程技术 时间:2024-02-20 15:50 浏览:0 评论:0
0
本文主要介绍如何根据AWR报告检查最慢的SQL语句。有一定的参考价值。有兴趣的朋友可以参考一下。希望您读完这篇文章后能有所收获。让小编带你一起去看看吧。学习关于。

系统运行一段时间后,系统已经基本稳定。 SQL调优也成为了DBA的一项主要工作内容。很多时候,性能是通过查看awr报告来检查的。通过这个可以清楚的看到瓶颈的SQL语句,具体的运行时间、次数、CPU、IO比例。



但是每次都要查看awr报告,非常麻烦。如果可以单独检查有问题的SQL,就不用每次都生成。报告了 awr。视图dba_hist_sqlstat记录了每个snap_id中的SQL信息。在这里我将帮助您编写整个脚本。


单击(此处)折叠或打开

SELECT v.SQL_TEXT,m.* FROM (选择不同的 snap_id,

sql_id,

EXECUTIONS_DELTA,

trunc( max(ELAPSED_TIME_DELTA)

< p> 超过(按 snap_id、SQL_ID 分区)/ 1000000,

0) max_elapsed,

< p> trunc((max(ELAPSED_TIME_DELTA)

OVER(PARTITION BY snap_ id, sql_id)) /

(SUM (ELAPSED_TIME_DELTA) Over (分区by Snap_id)),

2) * 100 PER_TOTAL

< p> from dba_hist_sqlstat t WHERE T.snap_id IN (SELECT MAX(snap_id) FROM dba_hist_sqlstat) ) M,v$ sql v

其中 m.sql_id=v.sql_id 且 m.max_elapsed>=300

此脚本搜索 m.max_elapsed>=300(此处的单位是秒),也是 5 分钟。可根据系统实际情况进行。定义;


可以看出sql_id值为d1ftvurv76hct,运行一次。本次运行时间为1199s,占总消耗的36%。


[另一个]你可以执行这个sql状态通过运行计划作业来解决问题,然后将有问题的sql信息发送到用户的邮箱中;

感谢您仔细阅读本文。希望小编分享的《如何根据AWR报告查看最慢的SQL语句》这篇文章对大家有所帮助。也希望大家多多支持。关注行业资讯频道,更多相关知识等您学习!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何根据awr报告查看最慢的sql语句

用户评论