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

Decon Messages postés 95 Statut Membre -  
Decon Messages postés 95 Statut Membre -
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.

4 réponses

  1. Shu_Wong Messages postés 36 Statut Membre 5
     
    Bonjour,
    Il est impossible d'archiver les données d'une seule table, seule une bd entière peut être archivée et archiver des données ne se fait pas d'une db à une une autre mais d'une db à un fichier de sauvegarde (et de restauration si besoin est) en .bak.
    Sinon si j'ai compris ce que tu veux faire, tu dois pouvoir le faire en créant un script à partir d'un plan de maintenance, par contre je ne sais pas quel sgbd le fait ou non mais perso sur sql server ça marche niquel.
    1
  2. Decon Messages postés 95 Statut Membre 2
     
    Justement je travail sur oracle sql developper.
    0
  3. Shu_Wong Messages postés 36 Statut Membre 5
     
    Désolé Oracle je connais pas du tout j'ai jamais bossé avec.
    0
  4. Decon Messages postés 95 Statut Membre 2
     
    Je reviens avec un problème semblable.

    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
    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:
    Erreur SQL : ORA-14150: missing SUBPARTITION keyword
    .

    Voici le code de création de t2
    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.
    0