본문 바로가기

ORACLE/ADMIN

[펌] 테이블스페이스 생성 LMT & DMT

LMT

-테이블를 만들면 Extent가 할당 되는데 Extent의 관리를 해당 테이블스페이스에서 관리, System테이블스페이스가 관리하지 않기 때문에 System테이블스페이스 경합이 줄어든다.(※DBCA로 데이터베이스 생성하면 LMT로 할당)

-Free Extent를 관리하기 위해 Bitmap 사용

SQL> create tablespace users03
         datafile '/u01/app/oracle/oradata/devdb/users03.dbf' size 20m

         extent management local                          -LMT
         segment space management auto;          -ASSM

 

 

DMT 
-테이블를 만들면 Extent가 할당 되는데 Extent의 관리를 System테이블스페이스의 dictionary가 관리(※최근엔 거의 사용 안함)

SQL> create tablespace users05
         datafile '/u01/app/oracle/oradata/devdb/users05.dbf' size 20m
         extent management dictionary             -DMT
         segment space management manual;    -FLM



=========================================================================================================

ㅁ DMT : Data Dictionary 에서 공간할당을 총괄한다. 즉, 경합이 생기기 쉽다.


ㅁ LMT : Extent 마다 1비트를 할당하여 0,1로 공간이 비어있는지를 표시하여 저장 속도가 빠르다. 

         공간낭비가 생긴다.


오라클은 LMT 사용을 권장합니다. 


기존에 DMT로 생성된 테이블 관리를 위해 DMT 명령이 남아있을 뿐 입니다.


ㅁ MSSM : Segment Header 에서 프리리스트로 여유공간을 갖는 방식


ㅁ ASSM : Segment Header 가 각 extents의 header들을 point하고 있는 계층구조. 



//------------------------------------------//



1. LMT + ASSM  -- Default : 오라클 권장


   SQL> create tablespace tbs1 datafie '$ORACLE_BASE/oradata/testdb/tbs1.dbf' size 100m

                      extent management LOCAL         segment space management AUTO;


 LMT + ASSM은  Default 값이기 때문에 아래와 같이 datafile을 생성해도 동일한 결과를 얻는다.

   SQL> create tablespace tbs1 datafile '$ORACLE_BASE/oradata/testdb/tbs1.dbf' size 100m



2. LMT + MSSM


   SQL> create tablespace tbs1 datafie '$ORACLE_BASE/oradata/testdb/tbs1.dbf' size 100m

                      extent management LOCAL         segment space management MANUAL;



3. DMT + ASSM  --> 불가능


   SQL> create tablespace tbs1 datafie '$ORACLE_BASE/oradata/testdb/tbs1.dbf' size 100m

                      extent management DICTIONARY segment space management AUTO;



4. DMT + MSSM


   SQL> create tablespace tbs1 datafie '$ORACLE_BASE/oradata/testdb/tbs1.dbf' size 100m

                      extent management DICTIONARY segment space management MANUAL;


*  DBCA로  DB생성 --> System Tablespace : LMT  --> Datafile : LMT 만 생성가능

   수동 DB생성       --> System Tablespace : DMT  --> Datafile : LMT, DMT 모두 가능

[출처] LMT vs DMT | ASSM vs MSSM|작성자 Songnos


출처 : http://songnos.blog.me/30114372739


==========================================================================================

Oracle 10g 부터는 새로운 addressing 기법에 의해 하나의 datafile 이 40억개의 block을 가질 수 있는 Bigfile Tablespace 기능을 제공합니다.

  Bigfile Tablespaces는 반드시 Locally Managed Tablespace만 지원 하고, Automatic Segment-Space Management로 생성되어야 합니다.


'ORACLE > ADMIN' 카테고리의 다른 글

테이블스페이스 실습  (0) 2012.04.04
리두로그파일 그룹 추가  (0) 2012.03.31
[펌] 오라클 파라메터 파일 정리(spfile, pfile)  (0) 2012.03.29
오라클 시작(Startup)  (0) 2012.03.28
[펌] 리두로그파일 (Redo log file)  (0) 2012.03.27