如题:
select f.tablespace_name tablespace_name,
round((d.sumbytes / 1024 / 1024 / 1024), 2) total_g,
round(f.sumbytes / 1024 / 1024 / 1024, 2) free_g,
round((d.sumbytes - f.sumbytes) / 1024 / 1024 / 1024, 2) used_g,
round((d.sumbytes - f.sumbytes) * 100 / d.sumbytes, 2) used_percent
from (select tablespace_name, sum(bytes) sumbytes
from dba_free_space
group by tablespace_name) f,
(select tablespace_name, sum(bytes) sumbytes
from dba_data_files
group by tablespace_name
union
select tablespace_name, sum(bytes)
from dba_temp_files
group by tablespace_name) d
where f.tablespace_name = d.tablespace_name
order by d.tablespace_name;