zde je příklad, jak to udělat na Oracle 11g a funguje to velmi dobře. Na Oracle 10g jsem to nezkoušel, můžete to zkusit.
Toto je způsob, jak vytvořit tabulku s denními oddíly:
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;
Jak vidíte výše, Oracle automaticky vytvoří samostatné oddíly pro každý odlišný partition_day po 1. lednu 2000. Záznamy, jejichž partition_date je starší než toto datum, budou uloženy v oddílu nazvaném 'part_01'.
Oddíly tabulky můžete monitorovat pomocí tohoto příkazu:
SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
Poté, když budete chtít smazat některé oddíly, použijte následující příkaz:
ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
kde 'AAAAAA' je název oddílu.
Doufám, že vám to pomůže!