select dy
, hr
, coalesce(tmp,0) tmp
, coalesce(tm,' ') tm
from (
select trunc(sample_time,'hh24') samplehr
, max(tempgb) tmp
, rpad(' ',max(tempgb)/mx*80,'*') tm
from (
select sample_time
, tempgb
, max(tempgb)over() mx
from (
select sample_time
, sample_id
, trunc(sum(temp_space_allocated)/1024/1024/104) tempgb
from dba_hist_active_sess_history
where sql_id like coalesce(:sql_id,'%')
group by sample_time,sample_id
)
)
group by trunc(sample_time,'hh24')
, mx
) tmps
right outer join (
select hr - level/24 hr
, to_char(hr - level/24,'dy','NLS_DATE_LANGUAGE = AMERICAN') dy
from (
select trunc(min(sample_time),'hh24') mi
, trunc(sysdate,'hh24') hr
from dba_hist_active_sess_history
) connect by level < (hr - mi)*24
) hours
on hours.hr=tmps.samplehr
order by hr desc
;
If you need more detailed information just browse the views as I have done earlier.
2017-10-18
A slow SQL using TEMP, when and how much.
A really slow SQL clause using a lot of temp space. How much and when? Here is a query that reports hourly maximum usage of temp from ASH.
Subscribe to:
Comments (Atom)
About Me
- Rafu
- I am Timo Raitalaakso. I have been working since 2001 at Solita Oy as a Senior Database Specialist. My main focus is on projects involving Oracle database. Oracle ACE alumni 2012-2018. In this Rafu on db blog I write some interesting issues that evolves from my interaction with databases. Mainly Oracle.