作業系統:HP-UX 11i v1(11.11)
下圖是Oracle Enterprise Manager的Temporary Tablespace的狀況,使用率一直都是100%,
但是顧問說這是這個一個Bug,並非正確的數據。
用下列的SQL,可以知道實際的使用量與使用量並不相同:
select a.tablespace,"實際用量(MB)","總空間(MB)","使用量(MB)","空閒量(MB)","使用率(%)",("實際用量(MB)"/"總空間(MB)"*100) "實際使用率"
from (SELECT TABLESPACE,SUM(BLOCKS)*8/1024 "實際用量(MB)" FROM V$TEMPSEG_USAGE group by tablespace) a,
(SELECT tablespace_name,
(SUM (bytes_used)+SUM (bytes_free))/1024/1024 "總空間(MB)" ,
SUM (bytes_used)/1024/1024 "使用量(MB)",
SUM (bytes_free)/1024/1024 "空閒量(MB)",
SUM (bytes_used)/(SUM (bytes_used)+SUM (bytes_free))*100 "使用率(%)"
FROM v$temp_space_header
GROUP BY tablespace_name) b
where a.tablespace=b.tablespace_name ;
附上查詢Session使用Tempoary Tablespace容量的SQL:
select vs.sid "Session ID",vs.module,vs.action,vtu.username,sum(vtu.blocks)*8/1024 "實際使用量(MB)"
from V$TEMPSEG_USAGE vtu,v$session vs,v$process vp
where vtu.session_num=vs.serial#
and vtu.session_addr=vs.saddr
and vs.paddr=vp.addr
and vs.sid >10
group by vs.sid,vs.serial#,vp.spid,vs.module,vs.action,vtu.username
order by sum(blocks)*8/1024 desc;