Comment puis-je modifier ma table existante pour créer toute une gamme de partition dans Oracle

J'ai une table existante qui a 10 ans de données (j'ai pris un dump).

Je voudrais Gamme partition de la table existante sur une date clé de la colonne dans la table.

La plupart des exemples que je vois sont avec CREATE TABLE..PARTITION BY RANGE... pour ajouter de nouvelles partitions. Mais ma table est une table existante.

Je suppose que j'ai besoin de quelques ALTER déclaration.

ALTER TABLE TABLE_NAME
PARTITION BY RANGE(CREATED_DATE)
 PARTITION JAN16 VALUES LESS THAN (01-02-2016),
 PARTITION FEB16 VALUES LESS THAN (01-03-2016) AND GREATER THAN(31-01-2016),//OR?
 PARTITION MAR16 VALUES BETWEEN (01-03-2016) AND (31-03-2016),  //OR?

Deux questions..

  1. Ai-je besoin d'instruction Alter pour ajouter partitionnement du mécanisme ou de la nécessité de travailler avec instruction de création?
  2. Quelle est la bonne syntaxe pour veiller à ce que chaque partition de n'avoir qu'UN seul MOIS de données.
Vous ne pouvez pas alter une table partitionnée. Vous avez besoin de déplacer et de le recréer. Vous ne pouvez utiliser alter à add partitions à une table qui est déjà partitionné
You can not alter a table to be partitioned en fait, vous pouvez 🙂
mais seulement avec dbms_redefinition qui n'est pas exactement un alter déclaration
Je faisais allusion à ma réponse, pas DBMS_REDEFINITION.
Eh bien, ce n'était pas possible en 2016, lorsque j'ai écrit le commentaire

OriginalL'auteur Some Java Guy | 2016-03-11