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 :

Problème avec les tables partitionnées


Sujet :

Administration Oracle

  1. #1
    Membre confirmé Avatar de _shuriken_
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2006
    Messages : 543
    Points : 454
    Points
    454
    Par défaut Problème avec les tables partitionnées
    Voila, je vous mets les requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    DROP TABLE WF_T_EXP_DATA CASCADE CONSTRAINTS ;
     
    CREATE TABLE WF_T_EXP_DATA (
     
    IFC_CODE VARCHAR2 (16) NOT NULL,
     
    RCD_STATUS NUMBER (1) NOT NULL,
     
    EXP_DATE DATE NOT NULL,
     
    RCD_DATA VARCHAR2 (4000),
     
    RCD_EVT_STATUS NUMBER (1) )
     
    PARTITION BY HASH (IFC_CODE)
     
    PARTITIONS 16
     
    STORE IN ( MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,
     
    MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,
     
    MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,
     
    MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,MES_MMS_XS_DATA,
     
    MES_MMS_XS_DATA);
    Construction des partitions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    ALTER TABLE MMS.WF_T_EXP_DATA
       ADD RCD_EVT_STATUS NUMBER(1);
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_LN VALUES ('REJ_IMP_LN')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_NA VALUES ('REJ_IMP_NA')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_NB VALUES ('REJ_IMP_NB')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_AM VALUES ('REJ_IMP_AM')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_PTF VALUES ('REJ_IMP_PTF')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_CO VALUES ('REJ_IMP_CO')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_IMP_LR VALUES ('REJ_IMP_LR')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_EXP_LN VALUES ('REJ_EXP_LN')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_EXP_NA VALUES ('REJ_EXP_NA')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_EXP_NB VALUES ('REJ_EXP_NB')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_EXP_AM VALUES ('REJ_EXP_AM')  TABLESPACE MES_MMS_XS_DATA;
     
    ALTER TABLE MMS.WF_T_EXP_DATA
      ADD PARTITION P_REJ_EXP_PTF VALUES ('REJ_EXP_PTF')  TABLESPACE MES_MMS_XS_DATA;
    Et voila ce que j'ai comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-14400:inserted partition key does not map to any partition
    Je suis venu ici en effectuant les solutions proposées, mais ça change rien du tout.
    Quelqu'un peut me dire ou se trouve mon erreur ?


    PS : Oracle 9i comme SGBD.
    "When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

    Lord Kelvin - 1883.

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je ne comprends pas. L'erreur est sur quel requête ?
    Le premier code crée une table partitionée par HASH (16 sous partitions)
    Le deuxième code ajoute des partitions à une table partitionnée par LIST

    ... il faut choisir: par HASH, 16 sous partitions vont être créées et réparties par une function de hachage. Par list, chaque valeur va précisément dans une partition.

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 38
    Points
    38
    Par défaut
    Je ne pense pas que tu puisses désigner toi-même tes clés si tu utilise partition by HASH. Si tu veux gérer l'emplacement des row en fonction de la valeur clé, tu dois utiliser 'partition by range ....' et puis 'value less than ....'

  4. #4
    Membre confirmé Avatar de _shuriken_
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2006
    Messages : 543
    Points : 454
    Points
    454
    Par défaut
    Citation Envoyé par murgen23 Voir le message
    Je ne pense pas que tu puisses désigner toi-même tes clés si tu utilise partition by HASH. Si tu veux gérer l'emplacement des row en fonction de la valeur clé, tu dois utiliser 'partition by range ....' et puis 'value less than ....'
    Je croyais qu'une table partitionnée par HASH, pouvait me permettre de le faire? . Ces requêtes se font sur un serveur de production, alors j'aimerai être sur de la syntaxe avant d'utiliser cette méthode.
    "When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

    Lord Kelvin - 1883.

Discussions similaires

  1. [AC-2010] Problème avec les tables pivot
    Par Mathweyers dans le forum Access
    Réponses: 0
    Dernier message: 02/06/2015, 09h52
  2. Problème avec les tables de décision
    Par mickael62800 dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 24/01/2015, 22h35
  3. problème avec les tables.
    Par sandball22 dans le forum C
    Réponses: 1
    Dernier message: 14/05/2011, 06h29
  4. [9.2.0.8] Problème avec une table Partitionnée
    Par Bart34 dans le forum Administration
    Réponses: 2
    Dernier message: 14/09/2010, 17h21
  5. Problème avec les champs de type table
    Par devdev dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/12/2004, 16h05

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