select
t.tablespace_name,
t.total,
u.used,
f.free,
round(u.used/t.total)*100 "used%",
round(f.free/t.total)*100 "free%"
from
(select round(sum(bytes)/1024/1024) total,tablespace_name from dba_data_files group by tablespace_name) t ,
(select round(sum(bytes)/1024/1024) used,tablespace_name from dba_extents group by tablespace_name) u ,
(select round(sum(bytes)/1024/1024) free,tablespace_name from dba_free_space group by tablespace_name) f
where
t.tablespace_name = u.tablespace_name
and u.tablespace_name = f.tablespace_name;
t.tablespace_name,
t.total,
u.used,
f.free,
round(u.used/t.total)*100 "used%",
round(f.free/t.total)*100 "free%"
from
(select round(sum(bytes)/1024/1024) total,tablespace_name from dba_data_files group by tablespace_name) t ,
(select round(sum(bytes)/1024/1024) used,tablespace_name from dba_extents group by tablespace_name) u ,
(select round(sum(bytes)/1024/1024) free,tablespace_name from dba_free_space group by tablespace_name) f
where
t.tablespace_name = u.tablespace_name
and u.tablespace_name = f.tablespace_name;