Tablespace space details script with temp
set pages 100
col Name for a20
SELECT
/* PERMANENT*/
d.tablespace_name "Name",
TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99,999,990.900') "Allocated Size (Mo)",
TO_CHAR(NVL(a.bytes - NVL(f.bytes, 0), 0)/1024/1024,'99,999,999.999') "Used (Mo)",
TO_CHAR(NVL(a.maxbytes / 1024 / 1024, 0),'99,999,990.900') "MAX Size (Mo)",
TO_CHAR(NVL((a.bytes - NVL(f.bytes, 0)) / a.maxbytes * 100, 0), '990.00') "Used % (including Autoextend)"
FROM
sys.dba_tablespaces d,
(select tablespace_name, sum(bytes) bytes,sum(decode(autoextensible,'YES',maxbytes,bytes)) maxbytes
from dba_data_files group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) f
WHERE
d.tablespace_name = a.tablespace_name(+) AND
d.tablespace_name = f.tablespace_name(+) AND NOT
(d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY')
UNION ALL
/* TEMPORARY*/
SELECT
A.tablespace_name "Name" ,
TO_CHAR(NVL(D.mb_total, 0),'99,999,990.900') "Allocated Size (Mo)",
TO_CHAR(NVL(SUM (A.used_blocks * D.block_size),0)/1024/1024, '99,999,990.999') "Used (Mo)",
TO_CHAR(NVL(M.maxbytes/1024/1024, 0),'99,999,990.900') "MAX Size (Mo)",
to_char(nvl((SUM (A.used_blocks * D.block_size)/1024/1024 ) / D.mb_total *100,0),'990.00') "Used % (including Autoextend)"
FROM v$sort_segment A,
(
SELECT B.name, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total
FROM v$tablespace B, v$tempfile C
WHERE B.ts#= C.ts#
GROUP BY B.name, C.block_size
) D,
( select tablespace_name,sum(decode(autoextensible,'YES',maxbytes,bytes)) maxbytes
from dba_temp_files group by tablespace_name) M
WHERE
A.tablespace_name = D.name
and D.name= M.tablespace_name
GROUP by
A.tablespace_name, D.mb_total,M.maxbytes
order by 5 desc ;
No comments:
Post a Comment