aquí hay un ejemplo de cómo hacerlo en Oracle 11g y funciona muy bien. No lo he probado en Oracle 10g, puedes probarlo.
Esta es la forma, cómo crear una tabla con particiones diarias:
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;
Como puede ver arriba, Oracle creará automáticamente particiones separadas para cada día_partición distinto después del 1 de enero de 2000. Los registros, cuya fecha_partición es anterior a esta fecha, se almacenarán en la partición denominada 'part_01'.
Puede monitorear las particiones de su tabla usando esta declaración:
SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
Luego, cuando desee eliminar algunas particiones, use el siguiente comando:
ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
donde 'AAAAAA' es el nombre de partición.
¡Espero que te ayude!