실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.
Locally Managed Tablespace는 오라클 9i의 default tablespace type이다. 이 방법은 빠른 방법이며 autoallocate구를 이용하여 auto extent size를 구현 하는 것이다. 물론 free extents에 대해서도 병합이 필요 없는 방법이며 auto 옵션으로 segment 관리에 있어서도 쉬운 관리 방법을 제공 한다. 반면에 Data Dictionary Managed 방법은 느린 방법이며 수작업으로 extents size를 기술해야 하며 PCTUSED, PCTFREE, PCTINCREASE등의 매개변수를 사용하여 segment 관리를 해야 한다. 물론 free extents에 대해서는 단편화를 막기 위해 병합과 같은 작업을 진행해야 한다. 아래의 실습을 통해 적성하는 방법을 이해하자.
앞의 Tablespace 작성시에는 아래의 옵션들을 이용하지 않았음을 참고 바란다. 앞에서와 같은 방법으로 테이블 스페이스를 만들면 결국 extent allocation의 경우 autoallocate이며 segment space management의 경우 manual 방법이 되는 것이다.
SQL> connect / as sysdba
연결되었습니다.
아래의 경우는 extent allocation의 경우 autoallocate이며 segment space management의 경우 manual 이다. Extent allocation의 경우 기본값이 autoallocate 이며 segment space management 의 경우 기본값은 manual 이다.
SQL> create tablespace data01
2 datafile 'C:\oracle\oradata\wink\data01.dbf'
3 size 10m;
테이블 영역이 생성되었습니다.
아래의 경우 위의 경우와 같지만 명시적으로 autoallocate를 기술 하였다.
SQL> create tablespace data02
2 datafile 'C:\oracle\oradata\wink\data02.dbf'
3 size 10m
4 autoallocate;
테이블 영역이 생성되었습니다.
아래의 예문은 경우는 extent allocation의 경우 autoallocate이며 segment space management의 경우 역시 automatic 이다.
SQL> create tablespace data03
2 datafile 'C:\oracle\oradata\wink\data03.dbf'
3 size 10m
4 segment space management auto;
테이블 영역이 생성되었습니다.
아래의 경우 extent allocation의 경우 uniform size 2m (한결같이 2M)이며 segment space management는 기본값인 manual 이다.
SQL> create tablespace data04
2 datafile 'C:\oracle\oradata\wink\data04.dbf'
3 size 10m
4 uniform size 2m;
테이블 영역이 생성되었습니다.
아래는 위의 실습으로 생긴 Tablespace를 확인 한 것이다. 아래에서 initial_extent의 경우 segment 에 첫번째 할당되는 extent 크기이며 next_extent의 경우 segment 에 다음으로 증가되는 extent 크기이다.
SQL> select tablespace_name as "TS_NAME",
2 initial_extent as "INIT_EXT",
3 next_extent as "NEXT_EXT",
4 extent_management as "EXT_MANAGE",
5 allocation_type as "ALLO_TYPE",
6 segment_space_management as "SEG_SPACE_MANAGE"
7 from dba_tablespaces
8 where tablespace_name in ('DATA01','DATA03','DATA04')
9 /
TS_NAME INIT_EXT NEXT_EXT EXT_MANAGE ALLO_TYPE SEG_SP
------------------------------ ---------- ---------- ---------- ------DATA04 2097152 2097152 LOCAL UNIFORM MANUAL
DATA03 65536 LOCAL SYSTEM AUTO