ecco un esempio di come farlo su Oracle 11g e funziona molto bene. Non l'ho provato su Oracle 10g, puoi provarlo.
Questo è il modo, come creare una tabella con partizioni giornaliere:
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;
Come si vede sopra, Oracle creerà automaticamente partizioni separate per ogni distinto partition_day dopo il 1° gennaio 2000. I record, la cui partition_date è precedente a questa data, verranno archiviati in una partizione denominata 'part_01'.
Puoi monitorare le partizioni della tua tabella usando questa istruzione:
SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
Successivamente, quando desideri eliminare alcune partizioni, utilizza il seguente comando:
ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
dove 'AAAAAA' è il nome della partizione.
Spero che ti aiuterà!