Oracle/Admin

ORACLE 오브젝트 – 테이블

DBA_JSH 2015. 6. 3. 16:00

1. 테이블 속성

  - INITIAL : Segment 생성시 최초로 할당되는 Extent의 크기 (byte로 명시) .

    - 기본값 : 5 DataBlock , 최소값 : 2 DataBlcok , 최대값 : 운영체제 의존적

  - PCTINCREASE : 가장 최근에 할당된 Extent에 증가되는 백분율(%)

  - PCTINCREASE=0이면 NEXT는 동일한 크기로 할당됨

  - PCTINCREASE > 0일때 다음에 할당될 Extent의 값은 (가장 최근의 NEXT값) *
    - 기본 값 : 50(%) , 최초값:0(%) , 최대값 : 운영체제 의존적

    - ROLLBACK segment의 PCTINCREASE는 항상 0이며, PCTINCREASE의 값을 지정할 수 없다

  - NEXT

    - 다음에 할당되는 Extent의 크기. 할당크기는 PCTINCREASE와 관련

 

2. 테이블 생성

테이블 생성 시 모든 입력 값을 수동으로 지정

 

3. 테이블 속성 확인 쿼리

  - USER_TABLES 테이블을 조회하여 생성 된 테이블의 속성을 확인

 

 

4. 테이블 속성 확인

  - MAXTRANS는 임의의 값을 입력 하여도 255로 고정 된 값으로 등록

  - PCT_USED는 세그먼트 관리 방식이 ASSM이기 설정 값 등록에서 제외. MSSM 방식일 때 입력 된 PCT_USED 값을 확인 가능

 

5. 관련 스크립트 제공

/*실행 스크립트 */
CREATE TABLE TB_DA_TEAM
( USER_ID VARCHAR2(30) NOT NULL,
USER_NM VARCHAR2(20) ,
USER_EMAIL VARCHAR2(10)
)
TABLESPACE STG
PCTFREE 20
PCTUSED 20
INITRANS 2
MAXTRANS 10
STORAGE (
INITIAL 4M
NEXT 2M
MINEXTENTS 1
MAXEXTENTS 3
PCTINCREASE 50
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOLOGGING
CACHE
;
 
SELECT INITIAL_EXTENT /* 초기 테이블 생성 될때 차지하는 크기*/
,NEXT_EXTENT /* INITIAL EXTENT를 모두 사용 후 추가로 사용 될 공간의 크기 할당 */
,PCT_FREE /* 수정 시 늘어나는 데이터를 수용하기 위한 공간 */
,PCT_USED /* 재사용되기 위해 필요한 블럭의 충진도 값을 설정*/
,PCT_INCREASE /* NEXT 값이 사용 될 때 증분되는 비율 값 설정*/
,TABLESPACE_NAME /* 할당 된 테이블 스페이스 */
,FREELISTS /* INSERT 작업 시 미리 사용 가능한 블럭을 리스트하고 있다가 할당 */
,INI_TRANS /* DATA BLOCK 내의 RAW를 동시에 접근 할 수 있는 TRANSACTION의 수 */
,MAX_TRANS /*여러개의 TRANSACTION이 동일한 DATA BLOCK의 RAW 접근 할 수 최대 수*/
FROM USER_TABLES A
WHERE TABLE_NAME ='TB_DA_TEAM';


테이블 생성시 제한사항과 고려할점

  - 테이블 이름과 컬럼은 항상 알파벳 문자로 시작해야 하며 A~Z까지의 문자, 0~9까지의 숫자, 그리고 $,#,_(Under Bar)를 사용할 수 있다. (공백 사용 불가능) 

  - 테이블의 컬럼 이름은 30자를 초과할수 없고, 예약어를 사용할수 없다. (버전없이 되면서 컬럼수 제한 변경 됨)