ORACLE中查看表空间的简要存储状态

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

select b.tablespace_name  "表空间名",       
round(b.all_byte)  "总空间(M)",
round(b.all_byte-a.free_byte)  "已使用(M)",
round(a.free_byte)             "剩余空间", 
round((a.free_byte/b.all_byte)*100)||'%'  "剩余百分比"   
from 
(select tablespace_name,sum(nvl(bytes,0))/1024/1024 free_byte from dba_free_space group by tablespace_name) a,
(select tablespace_name,sum(nvl(bytes,0))/1024/1024 all_byte from dba_data_files group by tablespace_name) b
where b.tablespace_name = a.tablespace_name(+)
order by 1,5;