본문 바로가기

카테고리 없음

ORACLE Table Free Space v1.0


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;