查看当前正在运行SQL语句的统计信息

使用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博客 ” ,链接:http://blog.itpub.net/29132283/viewspace-2142998/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29132283/viewspace-2142998/

你可能感兴趣的:(查看当前正在运行SQL语句的统计信息)