Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer une copie de table

...tout en la partitionnant

    14 juin 2012 à 15:45:45

    Hello !

    Me re=voila avec mes soucis d'Oracle !
    J'ai de -très, très- grosses tables sur une BDD, or celles-ci ne sont pas partitionnées.

    Oracle n'autorise pas de partitionner une table déjà créée.
    Je souhaiterais donc utiliser la création par copie :
    CREATE TABLE TOTO AS SELECT * FROM TUTU
    


    Tout en ajoutant quelque chose ressemblant à :
    PARTITION BY RANGE (DATE)
      (PARTITION SALES_Q1_2010 VALUES LESS THAN (TO_DATE('01-JAN-2010','DD-MON-YYYY')),
      PARTITION SALES_Q2_2011 VALUES LESS THAN (TO_DATE('01-JAN-2011','DD-MON-YYYY')),
      PARTITION SALES_Q3_2012 VALUES LESS THAN (TO_DATE('01-JAN-2012','DD-MON-YYYY')),
      PARTITION SALES_Q1_2013 VALUES LESS THAN (MAXVALUE))
    


    Pour dupliquer ma table tutu avant de la supprimer, puis renommer toto en tutu.

    J'ai essayé plusieurs syntaxes différentes mais toujours des erreurs... rien ne passe et aucune doc ! :colere2:

    Est-ce possible ?
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2012 à 23:33:28

      Créé la table vide et mets un INSERT INTO SELECT
      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2012 à 16:47:50

        Merci, j'ai lancé en début d'après midi avec une where clause (histoire de copier 80M des 700)..

        C'est long (comme prévu), je verrais lundi en arrivant au boulot !
        • Partager sur Facebook
        • Partager sur Twitter

        Créer une copie de table

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown