Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 19h16   #1
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
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.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 19/08/2011, 19h26   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Et ???
Vous avez rencontré des difficultés ou vous souhaitez qu'on le fasse à votre place ?
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 19/08/2011, 20h13   #3
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Si la table t1 est partitionée pourquoi ne pas utiliser

Code :
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.
__________________
Bien Cordialement
www.hourim.wordpress.com
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2011, 20h17   #4
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
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.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 12h45   #5
Membre éclairé
 
Avatar de boussafi
 
Homme
Ingénieur développement logiciels
Inscription : septembre 2007
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 342
Points : 397
Points : 397
Envoyer un message via Yahoo à boussafi Envoyer un message via Skype™ à boussafi
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 !!!!!!!!
boussafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 14h42   #6
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
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 ?
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 18h25   #7
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
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 :
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 :
Erreur SQL : ORA-14150: missing SUBPARTITION keyword
Voici le code de création de t2
Code :
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.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h31.


 
 
 
 
Partenaires

Hébergement Web