dba_data_files 와 dba_free_space 를 사용하여,
테이블 스페이스 프리공간을 산정
하나의 테이블 스페이스에 복수의 데이터 파일이 존재하기 때문에
테이블 스페이스에 대해 그룹핑한 결과를 사용했다.
==============================================================================================
col tbs_name for a15
col file_name for a45
col free(%) for 9999
col free(mb) for 999999
col total(mb) for 999999
set linesize 120
select gp.tablespace_name tbs_name, ddf.file_name, gp.free_size / gp.total_size * 100 "free(%)",
gp.free_size "free(mb)", gp.total_size "total(mb)"
from
(select ddf.tablespace_name, max(ddf.file_id) file_id, sum(dfs.bytes)/1024/1024 free_size,
sum(ddf.bytes)/1024/1024 total_size
from dba_free_space dfs, dba_data_files ddf
where dfs.file_id = ddf.file_id
group by ddf.tablespace_name) gp, dba_data_files ddf
where gp.file_id = ddf.file_id
order by 3, 4;