使用V$SQL_MONITOR视图来查看当前运行的SQL实时统计信息,可以查看给定的查询当前使用的各种资源,如CPU,内存资源等等。
查看当前数据库中消耗CPU资源排名前五位
使用SQL:
SELECT * FROM (
SELECT sid, buffer_gets, disk_reads, round(cpu_time/1000000,1) cpu_seconds
FROM v$sql_monitor
ORDER BY cpu_time desc)
WHERE rownum <= 5;
使用语句级别监控
一般语句级别监控可以启用hint /*+monitor*/
测试示例如下:
SELECT /*+ monitor */ ename, dname
FROM emppart JOIN dept USING (deptno);
基于SQL_ID查询每次执行过程
使用SQL语句:
SELECT * FROM (
SELECT sql_id, to_char(sql_exec_start,'yyyy-mm-dd:hh24:mi:ss') sql_exec_start,
sql_exec_id, sum(buffer_gets) buffer_gets,
sum(disk_reads) disk_reads, round(sum(cpu_time/1000000),1) cpu_secs
FROM v$sql_monitor
WHERE sql_id = ’1z86kt10h3rp‘ GROUP BY sql_id, sql_exec_start, sql_exec_id
ORDER BY 6 desc)
WHERE rownum <= 5;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29132283/viewspace-2142998/
,如需转载,请注明出处,否则将追究法律责任。