Create Table 시 Storage Option 은 다음과 같습니다.
예시)
CREATE TABLE TEST(
AA VARCHAR2(3),
BB NUMBER(5),
CC VARCHAR2(10) )
TABLESPACE PRODUCE
INITRANS 1
MAXTRANS 4
STORAGE ( INITIAL 10M
NEXT 10M
MINEXTENTS 1
MAXEXTENTS 121
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 2
)
PCTFREE 10
PCTUSED 40
;
l INITRANS (DEFAULT 1)
- Block 공간 할당시에 한 BLOCK에 지정한 개수 만큼의 Transaction Slot(ITL)을 할당할 공간을 예약하게 된다.
- BLOCK HEADER에 더 이상 TRANSACTION ID를 기록할 공간이 없을 경우 BLOCK의 DATA 영역에 여유공간에 기록한다.
l MAXTRANS
- 한 BLOCK에서 동시에 발생할 수 있는 최대 Transaction Slot(ITL)의 개수
- 해당 BLOCK의 HEADER 및 DATA 영역에 더 이상 기록할 공간이 없을 경우 TRANSACTION은 WATING 상태로 된다.
l INITIAL
- INITIAL EXTENT의 SIZE
l NEXT
- INCREMENTAL EXTENT의 SIZE
l MINEXTENTS (DEFAULT 1, Rollback Segment 는 2)
- 최소한 가질 수 있는 EXTENTS의 수 (최소값 1)
l MAXEXTENTS
- 최대한 가질 수 있는 EXTENTS의 수
- MAXEXTENTS까지 발생했을때 응급조치를 위해서 100 이상 넘지 않는 게 좋다.
l PCTINCREASE (DEFAULT 50)
- NEXT EXTENT 발생 시 증가 비율
- 되도록 0을 준다.
l FREELISTS (DEFAULT 1)
- SEGMENT HEADER 에 보관/관리되는 FREE LIST의 개수를 지정.
l FREELIST GROUPS (DEFAULT 1)
- FREELIST의 GROUP 수.
- 주로 OPS(Oracle Parallel Server)에서 INSTANCE의 수 만큼 설정해 준다.
l PCTFREE (DEFAULT 10)
- BLOCK에서 Size 가 증가하는 UPDATE 를 위해서 남겨둘 공간의 퍼센트
- 남은공간의 비율이 지정한 값보다 작아지면 해당 블록은 FREELIST에서 삭제됨
- Size 가 증가하는 UPDATE 가 많이 발생할 경우 크게 준다.
- 작게 주면 공간활용도가 높아짐
l PCTUSED
- Insert 불가능 BLOCK 이 DELETE 작업으로 인해 사용공간의 비율이 지정한 것보다 작아지게 되면 FREELIST에 다시 등록되어 Insert 가능한 Block 으로 된다
- INSERT/DELETE 가 반복적으로 발생할 경우는 작게 준다.
- 크게 주면 공간활용도가 높아짐
(예)
PCTFREE = 10 , PCTUSED = 40 일 경우 사용하는 BLOCK의 공간이 10%이하로 남으면 그 BLOCK은 FREELISTS에서 지워지고 더 이상 INSERT를 할 수 없게 된다. 그 후 그 BLOCK에 DATA가 많이 DELETE되어서 40% 미만으로 사용하고 있으면 그 BLOCK은 다시 FREELISTS에 등록이 되어 INSERT를 할 수 있는 BLOCK이 된다.
'DB - ORACLE > Oracle DB Admin ' 카테고리의 다른 글
ORADEBUG 사용법 - 1 (0) | 2015.10.30 |
---|---|
Oracle Enqueue 의 종류별 설명 (0) | 2015.09.07 |
오라클 Block Structure (0) | 2015.09.03 |
Session vs Connection (0) | 2015.09.03 |
PARTITIONED INDEX의 종류 및 INDEX UNUSABLE 상태 정리 (0) | 2015.08.31 |