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

Administration Oracle Discussion :

manipulation de partitions sur table


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut manipulation de partitions sur table
    Bonsoir,
    En Oracle 9i je voudrais créer une table partitionnée par range, sur une valeur de clé XY que je récupère dans une table paramètre en début de traitement.
    Cette valeur me permet selon le cas, soit de rajouter une partition à ma table, soit de vider la dernière partition présente puis la renommer avec la nouvelle valeur XY lue sur la table paramètre.
    Ce qui donne soit
    un alter table add partition XY+1,
    ou alors
    un truncate table partition XY-1
    puis
    un alter table rename partition rename XY-1 to XY

    Pouvez vous m'aider à trouver les bons DDL et m'alerter sur les problèmes que cela pourrait engendrer, ou pire l'infaisabilité de la solution.

    Merci

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    La doc officielle est ici
    Tu pourras y trouver tous les ordres DDL dont tu as besoin
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut manipulation de zone date pour partitionner
    Bonjour,

    Merci pour le lien.
    D'aprés la doc je pourrais créer une table partitionnée par mois et j'aimerais pour chaque partition définir des subpartition par liste sur la valeur du jour dans le mois (partition).
    Seulement j'ai un problème comment faire pour isoler la valeur du mois et la valeur du jour dans une zone déclarée date.

    Merci pour votre aide

  4. #4
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TO_DATE(champ_date,'MM')
    TO_DATE(champ_date,'DD')
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut
    merci ,
    En revanche ce que je n'arrive pas à savoir c'est si je peux créer une table telle que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE empdata
    ( empno number, 
        deptno number, 
        hiredate date,
        salary number)
    PARTITION BY RANGE TO_DATE(hiredate,'MM')
    SUBPARTITION BY LIST TO_DATE(hiredate,'JJ')
    (PARTITION janvier VALUES LESS THAN (to_date('01-02-08','DD-MM-YY'))
     (SUBPARTITION jour1 VALUES ('01'),
    (SUBPARTITION jour2 VALUES ('02'),
    (SUBPARTITION jour3 VALUES ('0"'),
    etc etc

    Merci pour votre aide

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Par défaut
    j'ai modifié l'ordre de création par ceci

    CREATE TABLE testdate
    ( empno number,
    deptno number,
    hiredate date,
    salary number)
    PARTITION BY RANGE (hiredate)
    SUBPARTITION BY LIST (hiredate)
    (PARTITION janvier VALUES LESS THAN (to_date('01-02-08','DD-MM-YY'))
    SUBPARTITION jour1 VALUES ('01'),
    SUBPARTITION jour2 VALUES ('02'),
    SUBPARTITION jour3 VALUES ('03'),
    SUBPARTITION jour4 VALUES ('04')),
    PARTITION fevrier VALUES LESS THAN (to_date('01-03-08','DD-MM-YY'))
    (SUBPARTITION jour1 VALUES ('01'),
    SUBPARTITION jour2 VALUES ('02'),
    SUBPARTITION jour3 VALUES ('03'),
    SUBPARTITION jour4 VALUES ('04'))
    ) tablespace tools;


    mais malheureusement j'obtiens cette erreur
    SQL> @create-table.sql
    SUBPARTITION jour1 VALUES ('01'),
    *
    ERROR at line 9:
    ORA-14020: this physical attribute may not be specified for a table partition


    Pensez vous qu'il n'est pas possible de créer une partition sur le mois et des subpartition sur le jour déclaré en liste?????

Discussions similaires

  1. Delete les partitions sur table et index
    Par mariachi dans le forum Administration
    Réponses: 1
    Dernier message: 29/08/2013, 11h25
  2. [XL-2003] Manipulation ID (clé) sur plusieurs Tables
    Par CLIP_Immo dans le forum Excel
    Réponses: 2
    Dernier message: 27/03/2012, 10h10
  3. Partition de table sur plusieurs BD ou plusieurs serveurs ?
    Par carjo dans le forum Administration
    Réponses: 7
    Dernier message: 04/02/2009, 13h55
  4. Problème avec l'ajout d'une partition sur une table
    Par marvelromy dans le forum Administration
    Réponses: 1
    Dernier message: 30/06/2008, 08h57
  5. doc sur partition des tables
    Par daliok dans le forum Oracle
    Réponses: 1
    Dernier message: 16/01/2007, 11h52

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