-- AWR Execution History
WITH snaps AS (
SELECT s.snap_id, s.instance_number, s.dbid, s.begin_interval_time
FROM dba_hist_snapshot s
)
SELECT TO_CHAR(s.begin_interval_time,'YYYY-MM-DD HH24:MI') snap_time,
ss.plan_hash_value,
ss.executions_delta AS execs,
ROUND(ss.elapsed_time_delta/1e6,2) AS elapsed_s,
ROUND(ss.cpu_time_delta/1e6,2) AS cpu_s,
ROUND(ss.iowait_delta/1e6,2) AS io_s,
ROUND(ss.clwait_delta/1e6,2) AS gc_s, -- FIXED
ss.buffer_gets_delta AS buffer_gets,
ss.disk_reads_delta AS disk_reads,
ss.rows_processed_delta AS rows_proc
FROM dba_hist_sqlstat ss
JOIN snaps s
ON s.snap_id=ss.snap_id AND s.dbid=ss.dbid AND s.instance_number=ss.instance_number
WHERE ss.sql_id='&sql_id'
ORDER BY s.begin_interval_time DESC;
-- AWR Time by Plan
SELECT ss.plan_hash_value,
ROUND(SUM(ss.elapsed_time_delta)/1e6,1) AS elapsed_s,
ROUND(SUM(ss.cpu_time_delta)/1e6,1) AS cpu_s,
ROUND(SUM(ss.iowait_delta)/1e6,1) AS io_wait_s,
ROUND(SUM(ss.clwait_delta)/1e6,1) AS gc_wait_s, -- FIXED
SUM(ss.buffer_gets_delta) AS buffer_gets,
SUM(ss.disk_reads_delta) AS disk_reads,
SUM(ss.rows_processed_delta) AS rows_proc
FROM dba_hist_sqlstat ss
WHERE ss.sql_id='&sql_id'
GROUP BY ss.plan_hash_value
ORDER BY elapsed_s DESC;