'테이블스페이스'에 해당하는 글 2건


오래 간만에 오라클에 관련된 포스팅을 한다.
 
데이터베이스를 생성하고 테이블 스페이스를 생성하는데 도대체 얼마나 사용하고 있지는 궁금할 때가 많다.
 
툴을 설치해서 보기도 귀찮고 해서 유용한 쿼리를 제공한다.
 

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 ;
 
이 쿼리를 실행해 보면 아주 깔끔한 결과를 볼 수 있다, 쿼리하는데 시간은 좀 걸릴 수 있다.
 
드래그가 안돼서 쿼리가 필요하신 분은 댓글 주세요.. 바로 보내드릴께요.^^




WRITTEN BY
한량이

,


오라클을 사용하다 보면 테이블 스페이스가 꽉 차서 스페이스를 추가 하려고 할때가 많다.

또 개발자들은 여러개의 Tablespace를 생성 해서 쓰는데 저번에 어떤위치에 생성하였지 하고 고민을 하는 경우가 많다.

간단하게 tablespace의 정보를 알수 있는 것이

select * from dba_data_files 이다.

이걸 쿼리해 보면 여러가지 정보가 나온다 실제 파일 위치 및 이름... 등등... 아래와 같이 정보가 나타난다.



또하나 중요한 정보는

select * from dba_tablespaces 이다.

이건 tablespace의 이름및 extent값 pct_increase 값등 유용한 정보가 많이 나온다.


이런 부분을 알고 있으면 간혹 DB관리 할때 편하다... 오라클에서 제공되는 VIEW에 의하여 이런 많은 정보들이 제공되며 유용하게 사용할 수 있다.


WRITTEN BY
한량이

,