set linesize 110
COLUMN dummy NOPRINT
COLUMN pct_used FORMAT 99.9 HEADING "% Used"
COLUMN name FORMAT a20 HEADING "Tablespace"
COLUMN Kbytes FORMAT 99,999,999,999 HEADING "KBytes"
COLUMN used FORMAT 99,999,999,999 HEADING "Used"
COLUMN free FORMAT 99,999,999,999 HEADING "Free"
COLUMN largest FORMAT 9,999,999,999 HEADING "Largest"
COLUMN largest_rq FORMAT 99,999,999 HEADING "Largest_rq"
BREAK ON report
COMPUTE SUM OF kbytes ON REPORT
COMPUTE SUM OF free ON REPORT
COMPUTE SUM OF used ON REPORT
spool free.lis
SELECT SYSDATE FROM DUAL
/
SELECT NVL(b.tablespace_name,NVL(a.tablespace_name,'UNKOWN')) name,
kbytes_alloc kbytes,
kbytes_alloc-nvl(kbytes_free,0) used,
NVL(kbytes_free,0) free,
((kbytes_alloc-nvl(kbytes_free,0))/kbytes_alloc)*100 pct_used,
NVL(largest,0) largest, NVL (c.largest_req,0) largest_rq,
decode(substr(((nvl(largest,0) - nvl (c.largest_req,0) * 5)),1,1),'-','FAILED')
FROM ( SELECT SUM(bytes)/1024 Kbytes_free, max(bytes)/1024 largest, tablespace_name FROM sys.dba_free_space GROUP BY tablespace_name ) a,
( SELECT SUM(bytes)/1024 Kbytes_alloc, tablespace_name FROM sys.dba_data_files GROUP BY tablespace_name ) b,
( SELECT max(next_extent)/1024 largest_req,tablespace_name FROM dba_segments GROUP BY tablespace_name ) c
WHERE a.tablespace_name (+) = b.tablespace_name
AND a.tablespace_name = c.tablespace_name
ORDER BY pct_used desc
/
SELECT tablespace_name,sum(bytes)/(1024*1024*1024) "Size Gig" FROM dba_temp_files GROUP BY tablespace_name
/
SELECT 2 * (sum(bytes)/(1024*1024*1024)) "Redo size Gig" FROM v$log
/
spool off