Comme tu es en 10g tu peux aussi t'appuyer sur le package DBMS_REDEFINITION, qui permet de changer la définition d'une table pdt qu'elle reste accessible aux utilisateurs
La procédure que tu peux suivre - A TESTER AU PREALABLE SUR UNE INSTANCE DE TEST - OF COURSE -
--la table d'origine non partitionnée : MyOrigineTable de MySchema
--On vérifie que la table peut être redéfinit en ligne
EXECUTE DBMS_REDEFINITION.CAN_REDEF_TABLE(MySchema, MyOrigineTable);
--Tu créé ta table partitionnée : MyDestTable dans MySchema
--Tu lances le processus de rédéfinition
EXECUTE DBMS_REDEFINITION.START_REDEF_TABLE(MySchema,MyOrigineTable, MyDestTable);
--tu peux définir à ce niveau déclencheurs, indexs, contraintes...pour la table MyDestTable (cela soit manuellement, soit à l'aide de la procédure COPY_TABLE_DEPENDENTS)
--pour terminer la redéfinition
EXECUTE DBMS_REDEFINITION.FINISH_REDEF_TABLE(MySchema,MyOrigineTable,MyDestTable);
Une fois test avant, éprouve la procédure proposée sur une instance de test
bien cordialement,
Partager