본문 바로가기

카테고리 없음

ORACLE PCTUSED 와 PCTFREE v1.0


출처 : OTN http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/schema.htm#9079
=============================================================================================

다음은 당신이 PCTFREE ( 10 ) PCTUSED ( 40 ) 의 DEFAULT VALUE를 쓰고 싶지 않을때를 위한
가이드 라인이다.

1. PCTFREE + PCTUSED <= 100
 두 파라미터의 합이 100보다 같거나 작아야 한다.

2. PCTFREE + PCTUSED = 100
 위 경우 ORACLE은 PCTFREE 공간을 딱 남기려고 한다. 이로인해 높은 프로세싱 비용이 발생한다.

3. PCTFREE + PCTUSED < 100
 사용자가 위와같이 값을 설정하는 이유는 ???

Example Scenario Settings Explanation

1

ROW의 크기를 증가시키는 UPDATE 구문이 자주 사용됨

PCTFREE=20

PCTUSED=40

PCTFREE는 UPDATE를 위해 적절히 할당 되었고 PCTUSED는 잦은 UPDATE를 고려한 값이다.

2

INSERT,DELETE,UPDATE(DML) 가 자주 사용되며 영향받는 ROW의 크기는 증가하지 않는다.

PCTFREE=5

PCTUSED=60

ROW의 크기가 증가하지 않는다는 것은 PCTFREE 값이 작아도 행이전이 일어날 일이 없다는 걸 의미한다. PCTUSED 가 60인 DELETE 작업에 의해 블록이 다시 재입력가능한 상태로 풀리게 하기 위해서이다.

3

테이블이 매우 크고 대부분의 작업이 READ ONLY로 이루어진다. (DW 환경)

PCTFREE=5

PCTUSED=40

DML(특히 UPDATE)이 일어날일이 거의 없는 환경이기 때문에 5라는 낮은 값을 주었다.