col "File#" format a3 col "Tablespace" format a10 col "%free" format 999 col "%used" format 999 col "Max (M)" format 999,999.99 col "Total (M)" format 999,999.99 col "Used (M)" format 999,999.99 col "Free (M)" format 999,999.99 select * from (select df.tablespace_name "Tablespace", substr(df.FILE_ID,1,3) "File#", nvl((100*((df.bytes-sum(fs.bytes))/df.bytes)),100) "%used", nvl((100*((sum(fs.bytes))/df.bytes)),0) "%free", nvl(sum(fs.bytes),0)/(1024*1024) "Free (M)", nvl(df.bytes-sum(fs.bytes),100)/(1024*1024) "Used (M)", df.bytes/(1024*1024) "Total (M)", df.MAXBYTES/(1024*1024) "Max (M)" from sys.dba_data_files df, sys.dba_free_space fs where df.file_id = fs.file_id(+) group by df.FILE_ID, df.tablespace_name, df.file_name,df.bytes, df.blocks,df.MAXBYTES) order by "%used", "Tablespace";