Table Partition 관리 샘플 [06'07']

-- 200606, 200607 PARTITION TABLE CREATE
-- 매달 마다 생성되는 로그 데이타를 관리를 수월하기 위해 파티션 테이블 이용.


DROP TABLE TEST_HIS_LOG;

CREATE TABLE TEST_HIS_LOG
(
  PHONE_NUMBER  VARCHAR2(12 BYTE)               NOT NULL,
  REQUEST_ID    NUMBER(7)                       NOT NULL,
  STRT_DATE     DATE                            NOT NULL,
  END_DATE      DATE                            NOT NULL,
  PAY_TIME      NUMBER(10),
  JOB_RESULT    NUMBER(1),
  PACKET_SIZE   NUMBER(10),
  PORT          NUMBER(5),
  DESCRIPTION   VARCHAR2(1000 BYTE),
  JOB_SERVER    VARCHAR2(20 BYTE),
  REGDATE       DATE                            DEFAULT SYSDATE               NOT NULL
)
TABLESPACE MCG_DATA1
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
 INITIAL          1040K
 NEXT      1040K
 MINEXTENTS       1
 MAXEXTENTS       2147483645
 PCTINCREASE      0
 )
PARTITION BY RANGE ( REGDATE )
( PARTITION TEST_HIS_LOG_200606 VALUES LESS THAN (TO_DATE('20060701','YYYYMMDD'))
  TABLESPACE MCG_DATA1
  PCTFREE 10
  PCTUSED 40
  INITRANS 1
  MAXTRANS 255
  STORAGE (  INITIAL 1040K
 NEXT    1040K
 PCTINCREASE 0
 MINEXTENTS 1
 MAXEXTENTS 2147483645
 )
 ,PARTITION TEST_HIS_LOG_200607 VALUES LESS THAN (TO_DATE('20060801','YYYYMMDD'))
  TABLESPACE MCG_DATA1
  PCTFREE 10
  PCTUSED 40
  INITRANS 1
  MAXTRANS 255
  STORAGE (  INITIAL 1040K
 NEXT    1040K
 PCTINCREASE 0
 MINEXTENTS 1
 MAXEXTENTS 2147483645
 )
 ,PARTITION TEST_HIS_LOG_200608 VALUES LESS THAN (TO_DATE('20060901','YYYYMMDD'))
  TABLESPACE MCG_DATA1
  PCTFREE 10
  PCTUSED 40
  INITRANS 1
  MAXTRANS 255
  STORAGE (  INITIAL 1040K
 NEXT    1040K
 PCTINCREASE 0
 MINEXTENTS 1
 MAXEXTENTS 2147483645
 )
);

-- LOCAL INDEX
CREATE INDEX IDX#TEST_HIS_LOG_LOCAL
ON TEST_HIS_LOG (PHONE_NUMBER) LOCAL
( PARTITION TEST_HIS_LOG_200606
  TABLESPACE MCG_IDX1  PCTFREE 10       MAXTRANS 255
      STORAGE (  INITIAL 1040K   NEXT 1040K PCTINCREASE 0
   MINEXTENTS 1 MAXEXTENTS 2147483645 ),
  PARTITION TEST_HIS_LOG_200607
  TABLESPACE MCG_IDX1  PCTFREE 10       MAXTRANS 255
      STORAGE (  INITIAL 1040K   NEXT 1040K PCTINCREASE 0
   MINEXTENTS 1 MAXEXTENTS 2147483645 ),
  PARTITION TEST_HIS_LOG_200608
  TABLESPACE MCG_IDX1  PCTFREE 10       MAXTRANS 255
      STORAGE (  INITIAL 1040K   NEXT 1040K PCTINCREASE 0
   MINEXTENTS 1 MAXEXTENTS 2147483645 )
);


-- PK INDEX CREATE
CREATE INDEX IDX#TEST_HIS_LOG_PK ON TEST_HIS_LOG (REQUEST_ID, PHONE_NUMBER) LOCAL
TABLESPACE MCG_IDX1  PCTFREE 10       MAXTRANS 255
            STORAGE (  INITIAL 1040K   NEXT 1040K PCTINCREASE 0
                       MINEXTENTS 1 MAXEXTENTS 2147483645 );


GRANT SELECT ON  TEST_HIS_LOG TO MCG1 WITH GRANT OPTION;




-- 매달 마다 파티션 추가 , 삭제 가능하다.
   
-- 200608월 PARTITION 추가
ALTER TABLE TEST_HIS_LOG ADD PARTITION TEST_HIS_LOG_200608
            VALUES LESS THAN (TO_DATE('20060901','YYYYMMDD'))
   TABLESPACE MCG_IDX1  PCTFREE 10  PCTUSED 40
                                    INITRANS 1   MAXTRANS 255
                         STORAGE (  INITIAL 1040K   NEXT 1040K PCTINCREASE 0
                                    MINEXTENTS 1 MAXEXTENTS 2147483645 );


-- 200608월 INDEX TABLESPACE 변경
ALTER INDEX IDX#TEST_HIS_LOG_LOCAL REBUILD
PARTITION TEST_HIS_LOG_200608
TABLESPACE MCG_IDX1  PCTFREE 10       MAXTRANS 255
    STORAGE (  INITIAL 1040K    NEXT 1040K PCTINCREASE 0
        MINEXTENTS 1 MAXEXTENTS 2147483645 );

-- 파티션 삭제
ALTER TABLE TEST_HIS_LOG DROP PARTITION TEST_HIS_LOG_200608;

-- 파티션 TRUNCATE
ALTER TABLE TEST_HIS_LOG TRUNCATE PARTITION TEST_HIS_LOG_200608;




-- LOCAL INDEX REBUILD
ALTER INDEX IDX#TEST_HIS_LOG_LOCAL REBUILD PARTITION TEST_HIS_LOG_200606;

ALTER INDEX IDX#TEST_HIS_LOG_LOCAL REBUILD PARTITION TEST_HIS_LOG_200607;

ALTER INDEX IDX#TEST_HIS_LOG_LOCAL REBUILD PARTITION TEST_HIS_LOG_200608;

-- GLOBAL INDEX REBUILD
ALTER INDEX IDX#TEST_HIS_LOG_PK REBUILD PARTITION TEST_HIS_LOG_200606 ;

ALTER INDEX IDX#TEST_HIS_LOG_PK REBUILD PARTITION TEST_HIS_LOG_200607 ;

ALTER INDEX IDX#TEST_HIS_LOG_PK REBUILD PARTITION TEST_HIS_LOG_200608 ;

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 밀리 | 2008/09/25 14:47 | ORACLE | 트랙백 | 덧글(0)

트랙백 주소 : http://ggwangs.egloos.com/tb/870805
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶