Resource intensive SQLs


Top 20 resource intensive SQLs for today

SELECT * 
FROM (SELECT RANK () OVER (PARTITION BY "Snap Day" ORDER BY "CPU Time" 
+ "Disk Reads" 
+ "Buffer Gets" 
+ "Writes" 
+ "Sorts" 
+ "Parses" DESC) AS "Rank", 
i1.* 
FROM (SELECT TO_CHAR (hs.begin_interval_time, 
'MM/DD/YY' 
) "Snap Day", 
shs.sql_id "Sql id", 
REPLACE 
(CAST 
(DBMS_LOB.SUBSTR (sht.sql_text, 40) AS VARCHAR (40) 
), 
CHR (10), 
'' 
) "Sql", 
SUM (shs.executions_delta) "Execs", 
ROUND ( (SUM (shs.elapsed_time_delta) / 1000000) 
/ SUM (shs.executions_delta), 
1 
) "Time Ea Sec", 
ROUND ( (SUM (shs.cpu_time_delta) / 1000000) 
/ SUM (shs.executions_delta), 
1 
) "CPU Ea Sec", 
ROUND ( (SUM (shs.iowait_delta) / 1000000) 
/ SUM (shs.executions_delta), 
1 
) "IO/Wait Ea Sec", 
SUM (shs.cpu_time_delta) "CPU Time", 
SUM (shs.disk_reads_delta) "Disk Reads", 
SUM (shs.buffer_gets_delta) "Buffer Gets", 
SUM (shs.direct_writes_delta) "Writes", 
SUM (shs.parse_calls_delta) "Parses", 
SUM (shs.sorts_delta) "Sorts", 
SUM (shs.elapsed_time_delta) "Elapsed" 
FROM dba_hist_sqlstat shs INNER JOIN dba_hist_sqltext sht 
ON (sht.sql_id = shs.sql_id) 
INNER JOIN dba_hist_snapshot hs 
ON (shs.snap_id = hs.snap_id) 
HAVING SUM (shs.executions_delta) > 0 
GROUP BY shs.sql_id, 
TO_CHAR (hs.begin_interval_time, 'MM/DD/YY'), 
CAST (DBMS_LOB.SUBSTR (sht.sql_text, 40) AS VARCHAR (40) 
) 
ORDER BY "Snap Day" DESC) i1 
ORDER BY "Snap Day" DESC) 
WHERE "Rank" <= 20 AND "Snap Day" = TO_CHAR (SYSDATE-1, 'MM/DD/YY');