如果在数据库存在资源争夺问题,可用以下方法排查。
查看v$sqlstats视图得出当前或者最近运行的sql语句信息。如果想要查询到最近执行的sql语句中,消耗磁盘i/o 排在前五位的sql语句,可以提交下面的查询:
select sql_text,disk_reads from (select sql_text,buffer_gets,disk_reads,sorts,cpu_time/1000000 cpu,rows_processed,elapsed_time
from v$sqlstats order by disk_reads DESC) where rownum <=5;
如果想按照cpu时间,排序,加载,失效或其他任何列查看排在前五位的sql语句只要讲上面的查询中的disk_reads列替换为想要查看的列即可。sql_text列可能会使结果看上去有点乱,因此可以用sql_id来替换。
v$sqlstats视图就是要更快找出消耗资源的sql语句,v$sqlstats视图与v$sql和v$sqlarea视图中包含同样的信息,但v$sqlstats视图只是其他视图的一个之集。
查看v$sqlstats视图得出当前或者最近运行的sql语句信息。如果想要查询到最近执行的sql语句中,消耗磁盘i/o 排在前五位的sql语句,可以提交下面的查询:
select sql_text,disk_reads from (select sql_text,buffer_gets,disk_reads,sorts,cpu_time/1000000 cpu,rows_processed,elapsed_time
from v$sqlstats order by disk_reads DESC) where rownum <=5;
如果想按照cpu时间,排序,加载,失效或其他任何列查看排在前五位的sql语句只要讲上面的查询中的disk_reads列替换为想要查看的列即可。sql_text列可能会使结果看上去有点乱,因此可以用sql_id来替换。
v$sqlstats视图就是要更快找出消耗资源的sql语句,v$sqlstats视图与v$sql和v$sqlarea视图中包含同样的信息,但v$sqlstats视图只是其他视图的一个之集。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30430420/viewspace-1805678/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30430420/viewspace-1805678/