hier is een voorbeeld hoe het te doen op Oracle 11g en het werkt heel goed. Ik heb het niet geprobeerd op Oracle 10g, je kunt het proberen.
Dit is de manier om een tabel met dagelijkse partities te maken:
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;
Zoals u hierboven ziet, maakt Oracle na 1 januari 2000 automatisch afzonderlijke partities voor elke afzonderlijke partitiedag. De records waarvan de partitiedatum ouder is dan deze datum, worden opgeslagen in de partitie met de naam 'part_01'.
U kunt uw tabelpartities controleren met deze verklaring:
SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
Als u daarna enkele partities wilt verwijderen, gebruikt u het volgende commando:
ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
waarbij 'AAAAAA' de naam van de partitie is.
Ik hoop dat het je zal helpen!