Oracle
 sql >> Base de données >  >> RDS >> Oracle

Partitionnement quotidien de la base de données Oracle

voici un exemple comment le faire sur Oracle 11g et cela fonctionne très bien. Je ne l'ai pas essayé sur Oracle 10g, vous pouvez l'essayer.

Voici comment créer une table avec des partitions quotidiennes :

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;

Comme vous le voyez ci-dessus, Oracle créera automatiquement des partitions séparées pour chaque partition_day distinct après le 1er janvier 2000. Les enregistrements, dont la partition_date est antérieure à cette date, seront stockés dans la partition appelée 'part_01'.

Vous pouvez surveiller vos partitions de table à l'aide de cette instruction :

SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';

Ensuite, lorsque vous souhaitez supprimer certaines partitions, utilisez la commande suivante :

ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES

où 'AAAAAA' est le nom de la partition.

J'espère que cela vous aidera !