dba_free_space:描述数据空间的剩余大小
dba_data_file:描述数据表空间的总大小
select a.tablespace_name, a.bytes bytes_used, b.largest,round(((a.bytes-b.bytes)/a.bytes)*100,2) percent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a , (select tablespace_name , sum(bytes) bytes ,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name
Order by ((a.bytes - b.bytes)/a.bytes) DESC;
当发现表空间超过80%则需要扩大表空间:
alert tablespace .... add datafile