Tablespace 할당 관리

프로그래밍/DB 2007. 11. 27. 14:26 Posted by galad
Tablespace 할당 관리
Tablespace의 저장 영역 설정 변경
빈영역 병합

Tablespace의 저장영역 설정 변경
데이타베이스 작업을 보다 융통성 있게 해줌
테이블 생성시 설정한 매개변수를 변경하지 않고 Tablespace에 앞으로 생성할 개체의 기본사양 변경 가능
명령 : ALTER TABLEAPCE 변경
권한 : ALTER TABLEAPCE 권한 필요
예] sp_test1의 기본 저장 영역을 변경
  변경전
     SQL> CREATE TABLESPACE sp_test
          DATAFILE '/oracle_data/sp_test1.dbf' SIZE 5M
          DEFAULT STORAGE(
                   INITIAL 50K
                   NEXT 50K
                   MINEXTENTS 2
                   MAXEXTENTS 50
                PCTINCREASE 0) OFFLINE;
  변경후
     SQL> ALTER TABLESPACE sp_test
          DEFAULT STORAGE(
                   INITIAL 50K
                   NEXT 50K
                   MINEXTENTS 2
                   MAXEXTENTS 50
                PCTINCREASE 50);

빈 영역의 병합
Tablespace Segment 영역은 Extent(Block의 모임)에 의해 관리
Tablespace Segment 영역에 새로운 Extent를 할당하는 경우 가장 크기가 유사한 영역을 사용하므로,
큰 빈 영역은 작은 영역으로 나누어지고, 작은 빈 영역은 큰영역으로 병합되어짐
SMON(시스템 모니터) 프로세스가 Tablespace의 작은 빈 Extent를 병합
영역의 단편화가 심한 경우(연속적인 영역이 디스크 상에서 비연속적으로 저장) 빈영역을 단일 영역 트랜잭션으로 병합가능
· 8번째 병합을 하면 영역 트랜잭션을 Commit되고, 다른 트랜잭션은 영역을 할당하거나 해체함
Tablespace 병합시 ALTER TABLESPACE 권한 필요
예] Tablespace 단위로 모든 사용가능한 빈 Extent 영역을 큰 Extent 영역으로 병합
 SQL> ALTER TABLESPACE sp_test COALESCE;

Tablespace 정보보기
Tablespace 병합가능한 Extent영역에 대한 정보는 DBA_FREE_SPACE_COALESCED 뷰를 사용

 SQL> SELECT * FROM DBA_FREE_SPACE_COALESCED;

 
 TABLESPACE_NAME  TOTAL_EXTENTS EXTENTS_COALESCED PERCENT_EXTENTS_COALESCED TOTAL_BYTES
 BYTES_COALESCED  TOTAL_BLOCKS  BLOCKS_COALESCED  PERCENT_BLOCKS_COALESCED   

 SYSTEM                  8                  8                  100              1521664
 1521664                743                743                 100
 
 USER_DATA               1                  1                  100              1859584
 1859584                908                908                 100
 
 ROLLBACK_DATA           1                  1                  100              3090432
 3090432               1509               1509                 100
 
 TEMPORARY_DATA          1                  1                  100              2095104
 2095104               1023               1023                 100
 
 SP_TEST                 1                  1                  100              5240832
 5240832               2559               2559                 100