ето пример как да го направите на Oracle 11g и работи много добре. Не съм го пробвал на Oracle 10g, можете да го пробвате.
Това е начинът за създаване на таблица с дневни дялове:
CREATE TABLE XXX (
partition_date DATE,
...,
...,
)
PARTITION BY RANGE (partition_date)
INTERVAL (NUMTODSINTERVAL(1, 'day'))
(
PARTITION part_01 values LESS THAN (TO_DATE('2000-01-01','YYYY-MM-DD'))
)
TABLESPACE MY_TABLESPACE
NOLOGGING;
Както виждате по-горе, Oracle автоматично ще създаде отделни дялове за всеки отделен partition_day след 1 януари 2000 г. Записите, чиято partition_date е по-стара от тази дата, ще се съхраняват в дял, наречен 'part_01'.
Можете да наблюдавате дяловете на вашата таблица, като използвате този оператор:
SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
След това, когато искате да изтриете някои дялове, използвайте следната команда:
ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
където 'AAAAAA' е име на дял.
Надявам се, че ще ви помогне!