cspark.net

Diary..

포토로그 마이가든





테이블스페이스(TableSpace) Resize by Coder

오라클9i 기준이다.
datafile인 dbf파일이 해당용량을 넘어 버려서 새그멘트가 확장할수 없는 수준까지 도달해버렸다. -_-
(AUTOEXTEND  OFF 모드) ..dbf파일의 용량을 다시 조정하자..

- dbf파일은 /oradata/test.dbf  이라 가정.
우선 오라클어드민으로 접근후 500M로 사이즈를 조정하자
   SQL> alter database datafile '/oradata/test.dbf'  resize 500M;    
   Database altered.

위의 경우는 파일시스템이 넉넉할때 할수있다.. 넉넉하지 않다면 다른 dbf파일중에 쓸데없이 용량만 먹는녀석은 줄이고 정작 필요한 녀석은 몸집을 키워주자.

1) 우선 현재 DB의 블럭사이즈를 확인하자.
                SQL > show parameter db_block_size;

                VALUE 값이 현재 DB의 블럭사이즈 되시겟다.

  2) 쓸모 없는 dbf파일의 실제 사용량과 전체사이즈를 구해보자. ( TableSpace가 'temp' 라 가정)
   SQL> SELECT file_name, BYTES AS "FULL_SIZE",
                        (SELECT (MAX (block_id) * 8192 + MAX (blocks * 8192))
                            FROM dba_extents 
                          WHERE file_id = a.file_id) AS "use_size"
               FROM dba_data_files a
             WHERE tablespace_name = 'temp'

  -  8192 수치는 위에서 구한 DB 블럭사이즈이다.  결과는 아래와 같다.
      FILE_NAME                  FULL_SIZE     USE_SIZE      
     /oradata/temp.dbf          419430400        229457920       
   
  3) temp.dbf가 사용하고 있는 용량은 229MB정도인데 실제 기본값으로 잡아준 값이 419MB이므로 약 190메가 가량의 용량이 낭비되고 있다는걸 확인할수 있다.
    낭비되는 용량은 줄이고 새로 추가될 DBF파일의 용량을 늘려주도록하자.
    



트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://cspark.net/tb/2132931 [도움말]

덧글

  • Shovel 2008/11/12 08:54 # 삭제 답글

    흠... 어느새 DB툴을 쓰다 보니..
    콘솔 명령어에 신경쓰지 않게 되더라 ;;
    덕분에 DB툴 없이는 바보다 되버린다는.... 어흐흑 ㅡㅜ
    마니 마니 올려놔라 필요 할때마다 들르게
  • Coder 2008/11/12 09:57 # 답글

    닥쵸...다른거 할게 너무 많다..ㅡㅜ..
덧글 입력 영역