Saturday, May 8, 2021

snap_waitevent

col event_name for a30
col 
wait_class for a30

 select event_name, wait_class, totalwaits, timewaited, round(timewaited/92882.3359 * 100,1) "%DB Time"
from (
select event_name, wait_class, to_char(fg_waits_delta,'999,999,999') TotalWaits, round((fg_time_waited/1000000),0) TimeWaited
from (
select s1.event_name, s1.wait_class,
--total_waits - lag(total_waits) over(partition by event_name order by s1.snap_id) as waits_delta,
total_waits_fg - lag(total_waits_fg) over(partition by event_name order by s1.snap_id) as fg_waits_delta, TIME_WAITED_MICRO_FG - lag( TIME_WAITED_MICRO_FG) over(partition by event_name order by s1.snap_id) as fg_time_waited
from dba_hist_system_event s1
where s1.snap_id between &&begin_snap_id and &&end_snap_id and s1.INSTANCE_NUMBER = userenv('instance') and s1.WAIT_CLASS not in ( 'Idle') )
where fg_waits_delta >0 order by 4 desc )
where rownum < 6 union
select Stat_name, null, null, round(value/(1000000),0) dbtimevalue, round(value/(1000000) / 92882.3359 * 100,1)
from (
select snap_id,STAT_NAME, value - lag( value) over ( partition by stat_name order by snap_id ) value
from dba_hist_sys_time_model
where snap_id between &&begin_snap_id and &&end_snap_id and instance_number = userenv('INSTANCE') order by snap_Id )
where stat_name ='DB CPU' and value > 0 order by 5 desc

 

No comments:

Post a Comment