Blame
|
1 | ## AWR - Top запросов по elapsed time |
||||||
| 2 | ||||||||
|
3 | ```oraclesql= |
||||||
|
4 | with |
||||||
| 5 | snaps as ( |
|||||||
| 6 | select dbid,snap_id |
|||||||
| 7 | ,begin_interval_time as beg_time |
|||||||
| 8 | ,end_interval_time as end_time |
|||||||
| 9 | from dba_hist_snapshot sn |
|||||||
| 10 | where dbid=975372630--(select distinct dbid from dba_hist_database_instance i where i.db_name='&_awr_db_name') |
|||||||
| 11 | and end_interval_time between to_date('&_awr_beg_time','dd.mm.yyyy hh24:mi:ss') and to_date('&_awr_end_time','dd.mm.yyyy hh24:mi:ss') |
|||||||
| 12 | ) |
|||||||
| 13 | ,sql_ordered as ( |
|||||||
| 14 | select |
|||||||
| 15 | dbid as dbid |
|||||||
| 16 | ,sql_id as sql_id |
|||||||
| 17 | ,max(module) as module |
|||||||
| 18 | ,dense_rank()over(order by sum(elapsed_time_delta) desc) as drnk_ela |
|||||||
| 19 | ,count(distinct nullif(plan_hash_value,0)) as plans |
|||||||
| 20 | ,count(*) as snaps |
|||||||
| 21 | ,max(snap_id) as last_snap |
|||||||
| 22 | ,count(distinct dbid) as dbids |
|||||||
| 23 | ,sum(executions_delta) as execs |
|||||||
| 24 | ,sum(disk_reads_delta) as disk_reads |
|||||||
| 25 | ,sum(buffer_gets_delta) as buf_gets |
|||||||
| 26 | ,sum(rows_processed_delta) as rows_pr |
|||||||
| 27 | ,sum(fetches_delta) as fetches |
|||||||
| 28 | ,sum(elapsed_time_delta/1e6) as ela_time_secs |
|||||||
| 29 | ,sum(cpu_time_delta/1e6) as cpu_time_secs |
|||||||
| 30 | ,sum(iowait_delta/1e6) as io_time_secs |
|||||||
| 31 | ,sum(apwait_delta/1e6) as app_time_secs |
|||||||
| 32 | ,round(sum(elapsed_time_delta/1e6)/nullif(sum(executions_delta),0),4) as elaexe |
|||||||
| 33 | ,round(sum(buffer_gets_delta)/nullif(sum(executions_delta),0)) as bufgets_per_exe |
|||||||
| 34 | from |
|||||||
| 35 | dba_hist_sqlstat st |
|||||||
| 36 | natural join snaps |
|||||||
| 37 | where module not in ('PL/SQL Developer') |
|||||||
| 38 | --and module = 'csc.exe' |
|||||||
| 39 | group by dbid,sql_id |
|||||||
| 40 | order by ela_time_secs desc |
|||||||
| 41 | ) |
|||||||
| 42 | ,topsql as ( |
|||||||
| 43 | select/*+ no_merge */ so.* |
|||||||
| 44 | from sql_ordered so |
|||||||
| 45 | where drnk_ela<=&_awr_top_n |
|||||||
| 46 | ) |
|||||||
| 47 | select |
|||||||
| 48 | sql_id |
|||||||
| 49 | ,module |
|||||||
| 50 | ,execs |
|||||||
| 51 | ,fetches |
|||||||
| 52 | ,drnk_ela |
|||||||
| 53 | ,ela_time_secs |
|||||||
| 54 | ,cpu_time_secs |
|||||||
| 55 | ,io_time_secs |
|||||||
| 56 | ,app_time_secs |
|||||||
| 57 | ,elaexe |
|||||||
| 58 | ,(select to_char(substr(sql_text,1,800)) from dba_hist_sqltext st where st.sql_id = t.sql_id and st.dbid = t.dbid) as stext200 |
|||||||
| 59 | ,(select sql_text from dba_hist_sqltext st where st.sql_id = t.sql_id and st.dbid = t.dbid) textfull |
|||||||
| 60 | ,plans |
|||||||
| 61 | ,snaps |
|||||||
| 62 | ,last_snap |
|||||||
| 63 | ,dbids |
|||||||
| 64 | ,disk_reads |
|||||||
| 65 | ,buf_gets |
|||||||
| 66 | ,rows_pr |
|||||||
| 67 | ,bufgets_per_exe |
|||||||
| 68 | from topsql t |
|||||||
| 69 | where rownum>0 |
|||||||
| 70 | ``` |
|||||||