본문 바로가기

DataBase/Oracle

[펌]오라클에서 파티션 테이블 사용

DROP TABLE tablename;

/* 테이블을 만들때 파티션을 사용할 수 있도록 생성해야만 한다. */
CREATE TABLE tablename
(
 siteid                         NUMBER NOT NULL,
 srcid                          NUMBER,
 catid                          NUMBER NOT NULL,
 contid                         VARCHAR2(32) NOT NULL,
 title                          VARCHAR2(2000),
 username                       VARCHAR2(20) NOT NULL,
 email                          VARCHAR2(30) NOT NULL,
 indate                         VARCHAR2(14)
)
PARTITION BY RANGE(SITEID) /* 파티션은 range, list, hash 셋중 하나 선택 */
SUBPARTITION BY LIST(CATID) /* 서브파티션은 list, hash 둘중 하나 선택. 서브파티션은 필수 사항은 아니다. */
(
     PARTITION PT_DUMMY VALUES LESS THAN (-1)
);
 
 
/* 파티션 추가시에는 파티션과 서브 파티션을 등록해야 한다. */
ALTER TABLE tablename ADD PARTITION pt_www VALUES less than(5) (SUBPARTITION subpt_www VALUES (0) );


/* 서브파티션 추가 */
ALTER TABLE tablename MODIFY PARTITION pt_www ADD SUBPARTITION subpt_www1 VALUES (1);

ALTER TABLE tablename MODIFY PARTITION pt_www ADD SUBPARTITION subpt_www2 VALUES (2);

ALTER TABLE tablename MODIFY PARTITION pt_www ADD SUBPARTITION subpt_www3 VALUES (3);

ALTER TABLE tablename MODIFY PARTITION pt_www ADD SUBPARTITION subpt_www4 VALUES (4);

ALTER TABLE tablename MODIFY PARTITION pt_www ADD SUBPARTITION subpt_www5 VALUES (5);


/* 서브파티션 삭제 */
ALTER TABLE tablename DROP SUBPARTITION subpt_www1;


/* 파티션 삭제 */
ALTER TABLE tablename DROP PARTITION pt_www;

'DataBase > Oracle' 카테고리의 다른 글

오라클 로또 추출 쿼리  (1) 2010.05.10
[펌]오라클 시간 연산  (0) 2010.03.05
파티션 테이블 삭제  (0) 2010.01.05
[펌]오라클 힌트2  (0) 2009.12.30
[펌]오라클힌트1  (0) 2009.12.30