Back to Performance Tuning sql

1 SQL Statements In AWR History Tables

1_sql_statements_in_awr_history_tables.sql

Disclaimer: This script is provided for educational and learning purposes. Review it carefully, test in a non-production environment, confirm privileges, and validate impact before using it in production.
SET PAGESIZE 200
SET LINESIZE 220
SET TRIMSPOOL ON
SET TAB OFF
SET VERIFY OFF
SET FEEDBACK ON

COLUMN sql_id FORMAT A13 HEADING 'SQL_ID'
COLUMN statement FORMAT A100 HEADING 'STATEMENT'
COLUMN cpu_time FORMAT 999,999,999,999 HEADING 'CPU_TIME'

SELECT
    a.sql_id,
    dbms_lob.substr(t.sql_text, 100, 1) statement,
    SUM(a.cpu_time_delta)               cpu_time
FROM
    dba_hist_sqlstat  a,
    dba_hist_snapshot s,
    dba_hist_sqltext  t
WHERE
        s.snap_id = a.snap_id
    AND a.sql_id = t.sql_id
    AND s.begin_interval_time > sysdate - 1 -- yesterday
    AND EXTRACT(HOUR FROM s.end_interval_time) BETWEEN 0 AND 24
GROUP BY
    a.sql_id,
    dbms_lob.substr(t.sql_text, 100, 1)
ORDER BY
    SUM(a.cpu_time_delta) DESC;