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