IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Archiver les données d'une table dans une autre


Sujet :

Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 87
    Points : 70
    Points
    70
    Par défaut Archiver les données d'une table dans une autre
    Bonjour,

    Je souhaite archiver les donnée d'une table table1 dans une autre table t2.
    je dois commencer par créer une partition sur la table t2. Ensuite à une date donnée, j'archive les données de la tables t1 dans t2 via une procédure appelée depuis un script sh en ajoutant à la partition un flag disant que j'ai archivé les données à telle date.

    J'espère avoir été clair.
    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et ???
    Vous avez rencontré des difficultés ou vous souhaitez qu'on le fasse à votre place ?

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Points : 1 359
    Points
    1 359
    Par défaut
    Si la table t1 est partitionée pourquoi ne pas utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alter table t1 exchange partition p1 with table t2 including indexes without validation;
    Mais alors dans ce cas la table t2 doit être un clone de la table t1 sans être partitionée. Vous pouvez créer pour chaque partition une table simple (heap table) dont le nom fait référence à la partition archivée.

    Attention tout de même à des subtilités qu'il va falloir prendre en compte lorsque par exemple la table à archiver est une table mère (parent table) d'une ou de plusieurs tables filles (child table). Je veux parler de l'ordre de l'exchange (fille avant mère) et des contraintes qui risquent de se réveiller.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 87
    Points : 70
    Points
    70
    Par défaut
    Non je n'attends pas que fassiez le travail à ma place.
    J'ai déjà une procédure qui ajoute une partition sur ma table t2.
    Au fait la table t2 est un clone de la table 1.
    Ma question concerne essentiellement la façon d'archiver les données. Ou du moins la façon propre de le faire.
    Est ce que je dois juste répliquer les données de la table t1 dans t2 ou ...?

    Merci de vous intéresser à mon problème.

  5. #5
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
    Et ???
    Vous avez rencontré des difficultés ou vous souhaitez qu'on le fasse à votre place ?
    on est là pour aider les participants et pas pour les repondre comme !!!!!!!!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par boussafi Voir le message
    on est là pour aider les participants et pas pour les repondre comme !!!!!!!!
    Je les aide à s'exprimer clairement et à expliciter leur problème comme du monde.
    Tu fais comment pour répondre à un problème que l'on ne connait pas ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 87
    Points : 70
    Points
    70
    Par défaut
    Pour revenir à mon problème.

    Comme je le disais j'ai créé ma table t1 à l'image de la table t2.
    T2 est la table sur laquelle les partitions seront créées.
    J'essaye donc d'ajouter une partition à t2 de la façon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ALTER TABLE t2 ADD PARTITION 
                --TO_CHAR(to_date('10/02/2011','DD/MM/YYYY'), 'P_MM_YYYY')
                to_char('P_' || to_char(to_date('10/02/2011','DD/MM/YYYY'),'MM_YYYY'))
                VALUES LESS THAN 
                (TO_DATE(
                TO_CHAR(TRUNC(ADD_MONTHS(to_date('10/02/2011','DD/MM/YYYY'), 1),'MONTH'),'DD/MM/YYYY')
                 ,'DD/MM/YYYY'))
    J'ai un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur SQL : ORA-14150: missing SUBPARTITION keyword
    Voici le code de création de t2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE "t2"
      (
        "PERIODE" DATE,
        "STATUT_SAPE"         NUMBER(1,0),
        "LIB_TYPE_DONNE"      VARCHAR2(50 CHAR),
          )
      PCTFREE 20 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
      (
        INITIAL 49152 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
      )
      TABLESPACE "tablespace"
    Merci d'avance de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Intégrer les données de plusieurs fichiers dans une table
    Par soad029 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2007, 03h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo