오래 간만에 오라클에 관련된 포스팅을 한다.
데이터베이스를 생성하고 테이블 스페이스를 생성하는데 도대체 얼마나 사용하고 있지는 궁금할 때가 많다.
툴을 설치해서 보기도 귀찮고 해서 유용한 쿼리를 제공한다.
SELECT SUBSTRB(A.TABLESPACE_NAME, 1,16) as TABLESPACE,
TO_CHAR((A.TOTAL/1024), '999,999,999,990') as "총량(M바이트)",
TO_CHAR((B.FREE/1024), '999,999,999,990') as "남은량(M바이트)",
TO_CHAR((A.TOTAL-B.FREE)/1024, '999,999,999,990') as "사용량(M바이트)",
TO_CHAR(A.BLOCKS, '9,999,990') as "총블럭",
TO_CHAR(C.BLOCKS, '9,999,990') as "사용블럭",
TO_CHAR(100*NVL(C.BLOCKS,0)/A.BLOCKS, '999.99') as "사용율%"
FROM (SELECT TABLESPACE_NAME,
SUM(BYTES) as TOTAL,
SUM(BLOCKS) as BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) A,
(SELECT TABLESPACE_NAME,
SUM(BYTES) as FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) B,
(SELECT TABLESPACE_NAME,
SUM(BLOCKS) as BLOCKS
FROM DBA_EXTENTS
GROUP BY TABLESPACE_NAME
) C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)
AND A.TABLESPACE_NAME = C.TABLESPACE_NAME(+)
ORDER BY A.TABLESPACE_NAME ;
TO_CHAR((A.TOTAL/1024), '999,999,999,990') as "총량(M바이트)",
TO_CHAR((B.FREE/1024), '999,999,999,990') as "남은량(M바이트)",
TO_CHAR((A.TOTAL-B.FREE)/1024, '999,999,999,990') as "사용량(M바이트)",
TO_CHAR(A.BLOCKS, '9,999,990') as "총블럭",
TO_CHAR(C.BLOCKS, '9,999,990') as "사용블럭",
TO_CHAR(100*NVL(C.BLOCKS,0)/A.BLOCKS, '999.99') as "사용율%"
FROM (SELECT TABLESPACE_NAME,
SUM(BYTES) as TOTAL,
SUM(BLOCKS) as BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) A,
(SELECT TABLESPACE_NAME,
SUM(BYTES) as FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) B,
(SELECT TABLESPACE_NAME,
SUM(BLOCKS) as BLOCKS
FROM DBA_EXTENTS
GROUP BY TABLESPACE_NAME
) C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)
AND A.TABLESPACE_NAME = C.TABLESPACE_NAME(+)
ORDER BY A.TABLESPACE_NAME ;
이 쿼리를 실행해 보면 아주 깔끔한 결과를 볼 수 있다, 쿼리하는데 시간은 좀 걸릴 수 있다.
드래그가 안돼서 쿼리가 필요하신 분은 댓글 주세요.. 바로 보내드릴께요.^^
'IT reference > OS,DB' 카테고리의 다른 글
PRIMARY KEY 재생성 방법(오라클) (0) | 2009.01.14 |
---|---|
오라클 디비의 ROLLBACK SEGMENT의 사용상황 보기 (0) | 2008.12.11 |
자바 프로그램은 역으로 컴파일 해보자. (0) | 2008.12.04 |
오라클 MSSQL 컨버젼 작업을 정리 하며 (5) | 2008.12.03 |
배드섹터 검사 및 치료 (2) | 2008.11.25 |
WRITTEN BY
,