set echo off feedback off verify off pages 75 col tablespace_name format a20 head 'Tablespace Name' col total format 999,999,999,999 head 'Total(KB)' col used format 999,999,999,999 head 'Used(KB)' col free format 999,999,999,999 head 'Free(KB)' col pct format 999 head 'Percent|Used' break on report compute sum of total on report compute sum of used on report compute sum of free on report select tbs.tablespace_name, tot.bytes/1024 total, tot.bytes/1024-sum(nvl(fre.bytes,0))/1024 used, sum(nvl(fre.bytes,0))/1024 free, (1-sum(nvl(fre.bytes,0))/tot.bytes)*100 pct from dba_free_space fre, (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) tot, dba_tablespaces tbs where tot.tablespace_name = tbs.tablespace_name and fre.tablespace_name(+) = tbs.tablespace_name group by tbs.tablespace_name, tot.bytes/1024, tot.bytes union select tsh.tablespace_name, dtf.bytes/1024 total, sum(nvl(tsh.bytes_used,0))/1024 used, sum(nvl(tsh.bytes_free,0))/1024 free, (1-sum(nvl(tsh.bytes_free,0))/dtf.bytes)*100 pct from v$temp_space_header tsh, (select tablespace_name, sum(bytes) bytes from dba_temp_files group by tablespace_name) dtf where dtf.tablespace_name = tsh.tablespace_name(+) group by tsh.tablespace_name, dtf.bytes/1024, dtf.bytes order by 1