IT 기술/Oracle

[Oracle] Tablespace 크기 및 상태 점검을 위한 쿼리

ㅇㅔ ㄷㅡ 2008. 8. 11. 19:06

Tablespace의 크기를 MB 단위로 조회하고, 관련 정보를 조회하는 쿼리입니다.

select
ts.status
, data.name
, ts.contents
, extent_management
, data.Mbytes "SPACE(MB)", free.free "FREE(MB)"
, trunc((data.Mbytes-free.free)/data.Mbytes*100,2) "Used(%)"
from (select tablespace_name name, trunc(sum(bytes/1024/1024)) Mbytes
from dba_data_files
group by tablespace_name) data,
(select free.tablespace_name, trunc(sum(free.bytes)/1024/1024,1) free
from dba_free_space free
group by free.tablespace_name) free,
dba_tablespaces ts
where data.name = free.tablespace_name
and data.name = ts.tablespace_name
;


select
ts.status
, data.file_name
, data.name
, data.Mbytes "SPACE(MB)", free.free "FREE(MB)"
, trunc((data.Mbytes-free.free)/data.Mbytes*100,2) "Used(%)"
from (select tablespace_name name, file_name, file_id, trunc(bytes/1024/1024) Mbytes
from dba_data_files) data,
(select tablespace_name, file_id, trunc(bytes/1024/1024,1) free
from dba_free_space free) free,
dba_tablespaces ts
where data.name = free.tablespace_name
and data.name = ts.tablespace_name
and data.file_id = free.file_id
and data.name not in ('UNDOTBS1', 'SYSTEM')
;

위의 회색 박스안의 쿼리를 실행하면 아래와 같은 결과가 나옵니다.
사용자 삽입 이미지




참고 자료
Littleworld Encylopedia
오라클 정보공유 커뮤니티 oracleclub