메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

파티션 테이블 로컬인덱스 생성

DB CAFE

로컬 파티션 인덱스 생성

 arrow_downward 1.INDEX 생성(UNUSABLE 옵션 적용)

CREATE INDEX IX_TBABC10_L1 ON TBABC10(YM, PROC_CD, PROC_STAT) 
       LOCAL (
                      PARTITION PT_TBABC10_200711 ... ,
                      PARTITION PT_TBABC10_200712 ... ,
                      PARTITION PT_TBABC10_200801 ... ,
                      PARTITION PT_TBABC10_200802 ... ,
                      PARTITION PT_TBABC10_200803 ... ,
                      PARTITION PT_TBABC10_999999 ...  
                    )
     UNUSABLE 
     ONLINE       -- DML 영향도 없도록      
;


 arrow_downward 2.각 파티션별로 REBUILD + NOLOGGING 모드 - 가장 많이 ACCESS(최근 사용)되는 파티션부터 생성

ALTER INDEX IX_TBABC10_L1 REBUILD PARTITION PT_TBABC10_999999
 TABLESPACE TS_TBABC10_999999 PARALLEL(DEGREE 8) NOLOGGING;

ALTER INDEX IX_TBABC10_L1 REBUILD PARTITION PT_TBABC10_200803 
 TABLESPACE TS_TBABC10_200803 PARALLEL(DEGREE 8) NOLOGGING;
.... 
....


 arrow_downward 3.LOGGING 모드로 변경

ALTER INDEX IX_TBABC10_L1 NOPARALLEL LOGGING;

로컬 파티션 인덱스 초간단 생성 팁

 arrow_downward 1.파티션된 로컬 인덱스를 UNUSABLE 옵션으로 생성

create index ix_sales_01
    on sales(col1,col2,....)
 local unusable 
online
tablespace ts_idx_01;

 arrow_downward 2.로컬 인덱스 REBUILD 용 SQL생성 후 실행

select 'alter index emp.'|| index_name ||' rebuild partition ' || partition_name || ' parallel 32;'
  from dba_ind_partitions
 where index_name = 'ix_sales_01';