programing

Oracle 자동 요일별 파티셔닝

goodsources 2023. 9. 28. 08:20
반응형

Oracle 자동 요일별 파티셔닝

저는 하루에 3~5m 행의 입력이 있는 오라클 11g DB로 작업하고 있습니다.앞으로는 열을 기준으로 파티셔닝을 사용하고 싶습니다.Timestamp. 제 목표는 매일 자동으로 새로운 파티션을 만드는 것입니다.

1-20일의 주어진 범위를 만들 수 있는 방법을 찾았지만 무제한으로 만들 수는 없었습니다(01.01.2014 ~ mm.dd.yyyyyy).

일별 범위의 경우 다음과 같이 수행할 수 있습니다.

create table ...
...
interval(numtodsinterval(1, 'DAY'))
(
  partition log_data_p1 values less than (to_date('22-04-2015', 'DD-MM-YYYY')),
  partition log_data_p2 values less than (to_date('23-04-2015', 'DD-MM-YYYY'))
);

중요한사용numtodsinterval대신에numtoyminterval

Oracle 11g는 자동 파티션 생성 기능을 제공하므로 다음과 같은 적절한 구문으로 테이블을 생성하기만 하면 됩니다.

create table 
pos_data ( 
   start_date        DATE,
   store_id          NUMBER,
   inventory_id      NUMBER(6),
   qty_sold          NUMBER(3)
) 
PARTITION BY RANGE (start_date) 
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH')) 
(  
   PARTITION pos_data_p2 VALUES LESS THAN (TO_DATE('1-7-2007', 'DD-MM-YYYY')),
   PARTITION pos_data_p3 VALUES LESS THAN (TO_DATE('1-8-2007', 'DD-MM-YYYY')) 
); 

여기서는 두 개의 파티션이 정의되었으며 한 달의 간격이 지정되었습니다.날짜가 파티션에 지정된 최대 날짜를 초과하면 Oracle이 자동으로 새 파티션을 만듭니다.

마찬가지로 일 범위에 대한 파티션을 지정할 수 있으며 Oracle이 휴식을 처리합니다.

언급URL : https://stackoverflow.com/questions/19299058/oracle-automatic-partitioning-by-day

반응형