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 :

[9i] Comportement des sous-partitions par Hash


Sujet :

Administration Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 40
    Points : 33
    Points
    33
    Par défaut [9i] Comportement des sous-partitions par Hash
    Bonjour, j'ai un petit problème avec la sous-partition par HASH.

    Alors voilà, j'ai une table partitionnée par range et sous-partitionnée par HASH.
    La colone de sous-partition ne pouvait prendre que 3 valeurs (1,2,3). Donc la table était sous-partitionée en 3.
    Très bien, chacune de mes sous partitions ne contenaient de des lignes concernant une seule valeur.
    Dernièrement, une quatrieme valeur a été ajouté. Donc, je me dis, très bien, je vais ajouter une 4eme sous-partition, les lignes concernant la valeur 4 vont se mettrent dans la nouvelle partition et ça va être du gateau. 8)

    Et ben non, je viens de me rendre compte (après qq mois de prod...) que les lignes de cette valeur 4 se mettent dans la 3eme sous partition...
    Ce qui fait que cette sous-partition contient 2 valeurs possibles et que la dernière sous partition ne contient strictement rien...

    Alors, je voulais savoir si c'était le comportement normal pour hash, ou si j'ai fait une erreur quelque part, ou si je vais devoir me tourner vers un sous-partitionnement par list (qui risque de ne pas etre facile facile si je dois reconstruire ma table).

    Merci

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    quelle est la définition DDL de ta table

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Salut,
    voici le script de création de ma table:


    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
     
      CREATE TABLE MaTable 
       (	
      cle_Sous_Partition VARCHAR2(4) NOT NULL ENABLE, 
      cle_Partition VARCHAR2(10) NOT NULL ENABLE, 
    	colonne1 VARCHAR2(5) NOT NULL ENABLE, 
    	colonne2 VARCHAR2(15), 
    	colonne3 VARCHAR2(5), 
    	...
    	...
       ) 
      TABLESPACE "TAB_DRLD_DB_XL" 
      PARTITION BY RANGE ("cle_Partition") 
      SUBPARTITION BY HASH ("cle_Sous_Partition") 
     (PARTITION "P_MaTable_20060203"  VALUES LESS THAN ('2006/02/04') 
      TABLESPACE "TAB_DB_P4_L" 
     ( SUBPARTITION "SYS_SUBP9221"  TABLESPACE "TAB_DB_P4_L", 
      SUBPARTITION "SYS_SUBP9222"  TABLESPACE "TAB_DB_P4_L", 
      SUBPARTITION "SYS_SUBP9223"  TABLESPACE "TAB_DB_P4_L", 
      SUBPARTITION "SYS_SUBP9224"  TABLESPACE "TAB_DB_P4_L") , 
     PARTITION "P_MaTable_20060204"  VALUES LESS THAN ('2006/02/05') 
      TABLESPACE "TAB_DB_P5_L" 
     ( SUBPARTITION "SYS_SUBP9241"  TABLESPACE "TAB_DB_P5_L", 
      SUBPARTITION "SYS_SUBP9242"  TABLESPACE "TAB_DB_P5_L", 
      SUBPARTITION "SYS_SUBP9243"  TABLESPACE "TAB_DB_P5_L", 
      SUBPARTITION "SYS_SUBP9244"  TABLESPACE "TAB_DB_P5_L") , 
      ...
      ...
     PARTITION "P_MaTable_20060207"  VALUES LESS THAN ('2006/02/08') 
      TABLESPACE "TAB_DB_P2_L" 
     ( SUBPARTITION "SYS_SUBP9295"  TABLESPACE "TAB_DB_P2_L", 
      SUBPARTITION "SYS_SUBP9296"  TABLESPACE "TAB_DB_P2_L", 
      SUBPARTITION "SYS_SUBP9297"  TABLESPACE "TAB_DB_P2_L", 
      SUBPARTITION "SYS_SUBP9298"  TABLESPACE "TAB_DB_P2_L") )
    Voilà, avant il y avait 3 sous-partitions par partition parceque 3 valeurs discrètes.

    Merci

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Quelle est la volumétrie de la table

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    On a de l'ordre 1,5 millions de lignes par partions (on a 45 partitions...)
    les 3 premieres valeurs de sous partition sont à peu près à 400000 l/jours
    la derniere valeur est à peu près à 300000 l/jours

    Merci.

  6. #6
    Membre régulier
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Points : 86
    Points
    86
    Par défaut
    Bonjour,

    Je remonte le sujet car j'ai très sensiblement le même problème !
    Avez-vous une idée ?

    Par avance merci

    Christophe

  7. #7
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut,

    Désolé, je sais que ma réponse est tardive, mais comme personne n'a répondu avant moi, je me lance.

    Quel est l'intérêt de faire un sous partitionnement par HASH si c'est pour des valeurs discrétisées que tu connais ? Le HASH est fait pour séparer de manière plus ou moins égale tes enregistrements en n sous partitions.
    De plus, si tu utilises les mêmes sous partitions pour toutes tes partitions, un template serait plus facile. Tu noteras la clause DEFAULT permettant d'englober tout ce qui n'est ni 1, ni 2, ni 3, donc 4 dans ton cas. En effet, en mettant 4, tu auras des rejets si tu as une autre valeur.

    Si tu connais tes valeurs, pourquoi ne pas faire :

    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
     
    CREATE TABLE MaTable 
       (	
      cle_Sous_Partition VARCHAR2(4) NOT NULL ENABLE, 
      cle_Partition VARCHAR2(10) NOT NULL ENABLE, 
    	colonne1 VARCHAR2(5) NOT NULL ENABLE, 
    	colonne2 VARCHAR2(15), 
    	colonne3 VARCHAR2(5), 
    	...
    	...
       ) 
      TABLESPACE "TAB_DRLD_DB_XL" 
      PARTITION BY RANGE ("cle_Partition") 
      SUBPARTITION BY LIST ("cle_Sous_Partition") 
      SUBPARTITION TEMPLATE (
        SUBPARTITION SUBP1 VALUES (1),
        SUBPARTITION SUBP2 VALUES (2),
        SUBPARTITION SUBP3 VALUES (3),
        SUBPARTITION SUBP4 VALUES (DEFAULT)
      )
    (
    PARTITION "P_MaTable_20060203"  VALUES LESS THAN ('2006/02/04') , 
    PARTITION "P_MaTable_20060204"  VALUES LESS THAN ('2006/02/05') , 
    ...
    )

Discussions similaires

  1. Déplacer des sous dossiers par le début de leur nom
    Par hilibili dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 25/07/2014, 16h49
  2. Réponses: 0
    Dernier message: 23/07/2014, 17h51
  3. [XL-2010] TCD Obtenir des sous totaux par formule
    Par Abed_H dans le forum Excel
    Réponses: 5
    Dernier message: 04/03/2014, 23h21
  4. emplacement des sous menu par rapport aux menus principaux
    Par newmar dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 14/05/2008, 18h10
  5. [9i] sous-partition par hash
    Par saysay dans le forum Oracle
    Réponses: 5
    Dernier message: 02/02/2006, 11h17

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