//구글광고

오라클(oracle) freespace 간편조회 script


일부 온라인 배포된 오라클 데이터베이스의 freespace 조회 스크립트는 파일 하나하나 별로 사이즈가 길게 나와 

테이블 스페이스별 freespace 로 깔끔하게 나오게 만든 버전 입니다.


일부 간편버전 스크립트 중에 dba_freespace 의 bytes 가 0일 경우( 즉 freespace가 없을경우) 해당 행이 조회 되지 않는 것이 있었습니다.

아래의 스크립트는 그 버그를 수정한 것 입니다.


 

column "NAME" format a20

column "FILECNT" format 999999

column "TOTAL(MB)" format 999,999,999.99

column "USED(MB)" format 999,999,999.99

column "FREE(MB)" format 999,999,999.99

column "MAXBYTE(MB)" format 999,999,999.99

column "FREE(%)" format 999.99


set linesize 120

set pagesize 100


SELECT tbs.tablespace_name as "NAME", tbs.FILECNT as "FILECNT", tbs.TOTAL as "TOTAL(MB)"

              , (tbs.TOTAL - nvl(fr.FREE,0)) as "USED(MB)" ,  nvl(fr.FREE,0) as "FREE(MB)"

              , nvl(tbs.MAX,0) as "MAXBYTE(MB)",  nvl(fr.FREE,0)/tbs.TOTAL *100 as "FREE(%)"

FROM   (select tablespace_name, sum(bytes/1024/1024) as "FREE" 

                   from dba_free_space

                  group by tablespace_name) fr,

                (select tablespace_name, sum(bytes/1024/1024) as "TOTAL", count(*) as "FILECNT",

                  sum(maxbytes/1024/1024) as "MAX"

                  from dba_data_files

                  group by tablespace_name) tbs

WHERE tbs.tablespace_name = fr.tablespace_name (+)

ORDER BY "FREE(%)" ;




( 제꺼 퍼가실때는 출처나 사용법을 꼭 명기해주시고 -  오라클 및 서버 명령어, 스크립트는 모든 경우에 적용하실수 있는게 아닙니다.

상황및 사용법이 나오게, 그리고 드래그 할 수 없게는 절대 가져가지마세요, 엔지니어나 공부하시는 분들에게 다 타이핑 하게 할수 없습니다 

일부러 드래그 해서 편히 쓰시라고 표에 따로 적어놓은 겁니다.)



" 출처나 사용법을 명기하셨더라도, 

절대 드래그-복사(Ctrl-c) 금지설정을 해놓은 페이지,블로그,카페에는 제 자료 일체 가져가지 마시기 바랍니다. "



사용하면 이렇게 나옵니다.


위의 표의 내용을 freespace.sql 로 저장하여 수행한 것 입니다.


컬럼 설명


NAME  : 테이블 스페이스의 이름.

FILECNT : 해당 테이블 스페이스의 파일 수.

TOTAL(MB) : 총 파일시스템에 할당된 용량(단위, 메가 바이트 ).

USED(MB) : 사용된 용량( 단위 , 메가바이트 ).

FREE(MB) : 여유공간 ( 단위, 메가바이트 ),

MAXBYTE(MB ) : 자동 증가할 수 있는용량 ( 단위, 메가바이트 )

    - 주의점

     1)  최대 증가가능용량이 32GB 라고 하더라도 실제 서버의 파일시스템에 공간이 없으면 더이상 늘어나지 않습니다. 

     2)  만약, 한 테이블 스페이스에 3개의 파일이 있고(FILECNT가 3)  그중에 1개의 파일만 32GB로 최대 자동 증가가 되어있다면

        MAXBYTES 는 32기가로 표현됩니다. 따라서 TOTAL 보다 MAXBYTE가 작을 수 도 있는점 있습니다.

        이럴땐, 파일별 용량을 표시해주는 스크립트(인터넷에서 돌아다니는 스크립트) 로 각 파일별 여유공간을 확인하시기 바랍니다.

        본 스크립트는 간편하게 한방에 조회 하게 축약된 축약본입니다.

FREE(%) : 전체 TOTAL 에서 Free 남은 비율 입니다. (자동 증가될 수 있는 용량은 고려하지 않음 )




ORANGE 나 SQL Tool 에서 수행할 때는 SELECT ~ 부터 붙여넣으시면 됩니다.


+ Recent posts