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

DB2 Discussion :

index partitionné KO


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Par défaut index partitionné KO
    Bonjour,

    J'ai une table partitionné sur laquelle j'essaie de créer un index partitionné. MAis je n'y arrive pas, j'ai toujours un message d'erreur différent.

    PAr ailleurs je toruve étrange de ne pas voir la table sysibm.sysindexpart dans la base

    Voici l'ordre envoyé :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    CREATE INDEX ENTR.IDX_CLIENT_BR_TEST ON ENTR.CLIENT_BR ( COD_PRD_REF    ASC,
      ENTITE        ASC,
      ID_LOCAL_TIERS ASC
     )
           PARTITION BY RANGE
           (PARTITION 200801 ENDING AT ('200802') ,
            PARTITION 200802 ENDING AT ('200803') ,
            PARTITION 200803 ENDING AT ('200804') ,
            PARTITION 200804 ENDING AT ('200805') ,
            PARTITION 200805 ENDING AT ('200806') ,
            PARTITION 200806 ENDING AT ('200807') ,
            PARTITION 200807 ENDING AT ('200808') ,
            PARTITION 200808 ENDING AT ('200809') ,
            PARTITION 200809 ENDING AT ('200810') ,
            PARTITION 200810 ENDING AT ('200811') ,
            PARTITION 200811 ENDING AT ('200812') ,
            PARTITION 200812 ENDING AT ('200812') ,
            PARTITION 200901 ENDING AT ('200901') ,
            PARTITION 200902 ENDING AT ('200902') ,
            PARTITION 200903 ENDING AT ('200903') ,
            PARTITION 200904 ENDING AT ('200904') ,
            PARTITION 200905 ENDING AT ('200905') ,
            PARTITION 200906 ENDING AT ('200906') ,
            PARTITION 200907 ENDING AT ('200907') ,
            PARTITION 200908 ENDING AT ('200908') ,
            PARTITION 200909 ENDING AT ('200909') ,
            PARTITION 200910 ENDING AT ('200910') ,
            PARTITION 200911 ENDING AT ('200911') ,
            PARTITION 200912 ENDING AT ('200912') ,
            PARTITION 201001 ENDING AT ('201001') ,
            PARTITION 201002 ENDING AT ('201002') ,
            PARTITION 201003 ENDING AT ('201003') ,
            PARTITION 201004 ENDING AT ('201004') ,
            PARTITION 201005 ENDING AT ('201005') ,
            PARTITION 201006 ENDING AT ('201006') ,
            PARTITION 201007 ENDING AT ('201007') ,
            PARTITION 201008 ENDING AT ('201008') ,
            PARTITION 201009 ENDING AT ('201009') ,
            PARTITION 201010 ENDING AT ('201010') ,
            PARTITION 201011 ENDING AT ('201011') ,
            PARTITION 201012 ENDING AT ('201012') ,
            PARTITION 201101 ENDING AT ('201101') ,
            PARTITION 201102 ENDING AT ('201102') ,
            PARTITION 201103 ENDING AT ('201103') ,
            PARTITION 201104 ENDING AT ('201104') ,
            PARTITION 201105 ENDING AT ('201105') ,
            PARTITION 201106 ENDING AT ('201106') ,
            PARTITION 201107 ENDING AT ('201107') ,
            PARTITION 201108 ENDING AT ('201108') ,
            PARTITION 201109 ENDING AT ('201109') ,
            PARTITION 201110 ENDING AT ('201110') ,
            PARTITION 201111 ENDING AT ('201111') ,
            PARTITION 201112 ENDING AT ('201112') ,
            PARTITION 2012012 ENDING AT ('201201') ) ;
    
    Merci de votre aide

    g

  2. #2
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    966
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 966
    Par défaut
    Bonjour

    2012012 partitions, c'est possible? Je crois que c'est impossible sur Z/Os.

    ensuite, je ne comprend pas la remarque :
    PAr ailleurs je toruve étrange de ne pas voir la table sysibm.sysindexpart dans la base

  3. #3
    Membre averti
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Par défaut
    J'entends par là que dans les tables sytème, je ne trouve pas la table SYSIBM.SYSINDEXPART qui devrait être la table recensant l'ensemble des données des indexes partitionnés.

    C'est en tout cas, ce qui me semblerait logique au vue des doc db2 que j'ai lu.

  4. #4
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    966
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 966
    Par défaut
    Ok
    Cette table est obligatoire, et fait partie du coeur de db2.

    Comment as-tu fait ta recherche?

  5. #5
    Membre averti
    Inscrit en
    Avril 2003
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 55
    Par défaut
    J'ai exploré les tables dans le schéma sysibm et je ne l'ai pas vue. Il se peut que je n'ai pas les droits de lecture dessus et donc que je ne la vois pas mais ça me parait louche.

  6. #6
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    966
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 966
    Par défaut
    Je n'ai jamais utiliser les SCHEMA.

    Essaye simplement la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT IXNAME, PARTITION, ...
    FROM SYSIBM.SYSINDEXPART
    WHERE IXCREATOR = 'xxxxxxxx'
        AND IXNAME   = 'xxxxxxxx'

  7. #7
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Citation Envoyé par ghostlord79 Voir le message
    ...
    J'ai une table partitionné sur laquelle j'essaie de créer un index partitionné. MAis je n'y arrive pas, j'ai toujours un message d'erreur différent.

    PAr ailleurs je toruve étrange de ne pas voir la table sysibm.sysindexpart dans la base
    Moi aussi je trouve cela étrange. La table SYSIBM.SYSINDEXPART est une des tables du catalogue de DB2 z/OS et si ce dernier était endommagé ou corrompu je vois mal DB2 pouvoir continuer à fonctionner ...


    Voici l'ordre envoyé :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    CREATE INDEX ENTR.IDX_CLIENT_BR_TEST ON ENTR.CLIENT_BR ( COD_PRD_REF    ASC,
      ENTITE        ASC,
      ID_LOCAL_TIERS ASC
     )
           PARTITION BY RANGE
           (PARTITION 200801 ENDING AT ('200802') ,
            PARTITION 200802 ENDING AT ('200803') ,
            PARTITION 200803 ENDING AT ('200804') ,
            PARTITION 200804 ENDING AT ('200805') ,
            PARTITION 200805 ENDING AT ('200806') ,
            PARTITION 200806 ENDING AT ('200807') ,
            PARTITION 200807 ENDING AT ('200808') ,
            PARTITION 200808 ENDING AT ('200809') ,
            PARTITION 200809 ENDING AT ('200810') ,
            PARTITION 200810 ENDING AT ('200811') ,
            PARTITION 200811 ENDING AT ('200812') ,
            PARTITION 200812 ENDING AT ('200812') ,
            PARTITION 200901 ENDING AT ('200901') ,
            PARTITION 200902 ENDING AT ('200902') ,
            PARTITION 200903 ENDING AT ('200903') ,
            PARTITION 200904 ENDING AT ('200904') ,
            PARTITION 200905 ENDING AT ('200905') ,
            PARTITION 200906 ENDING AT ('200906') ,
            PARTITION 200907 ENDING AT ('200907') ,
            PARTITION 200908 ENDING AT ('200908') ,
            PARTITION 200909 ENDING AT ('200909') ,
            PARTITION 200910 ENDING AT ('200910') ,
            PARTITION 200911 ENDING AT ('200911') ,
            PARTITION 200912 ENDING AT ('200912') ,
            PARTITION 201001 ENDING AT ('201001') ,
            PARTITION 201002 ENDING AT ('201002') ,
            PARTITION 201003 ENDING AT ('201003') ,
            PARTITION 201004 ENDING AT ('201004') ,
            PARTITION 201005 ENDING AT ('201005') ,
            PARTITION 201006 ENDING AT ('201006') ,
            PARTITION 201007 ENDING AT ('201007') ,
            PARTITION 201008 ENDING AT ('201008') ,
            PARTITION 201009 ENDING AT ('201009') ,
            PARTITION 201010 ENDING AT ('201010') ,
            PARTITION 201011 ENDING AT ('201011') ,
            PARTITION 201012 ENDING AT ('201012') ,
            PARTITION 201101 ENDING AT ('201101') ,
            PARTITION 201102 ENDING AT ('201102') ,
            PARTITION 201103 ENDING AT ('201103') ,
            PARTITION 201104 ENDING AT ('201104') ,
            PARTITION 201105 ENDING AT ('201105') ,
            PARTITION 201106 ENDING AT ('201106') ,
            PARTITION 201107 ENDING AT ('201107') ,
            PARTITION 201108 ENDING AT ('201108') ,
            PARTITION 201109 ENDING AT ('201109') ,
            PARTITION 201110 ENDING AT ('201110') ,
            PARTITION 201111 ENDING AT ('201111') ,
            PARTITION 201112 ENDING AT ('201112') ,
            PARTITION 2012012 ENDING AT ('201201') ) ;
    
    Une suggestion :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    CREATE INDEX ENTR.IDX_CLIENT_BR_TEST ON ENTR.CLIENT_BR ( COD_PRD_REF    ASC,
      ENTITE        ASC,
      ID_LOCAL_TIERS ASC
     )
           PARTITION BY RANGE
           (PARTITION 1 ENDING AT ('200802') ,
            PARTITION 2 ENDING AT ('200803') ,
            PARTITION 3 ENDING AT ('200804') ,
            PARTITION 4 ENDING AT ('200805') ,
            PARTITION 5 ENDING AT ('200806') ,
            PARTITION 6 ENDING AT ('200807') ,
            PARTITION 7 ENDING AT ('200808') ,
            PARTITION 8 ENDING AT ('200809') ,
            PARTITION 9 ENDING AT ('200810') ,
            PARTITION 10 ENDING AT ('200811') ,
            PARTITION 11 ENDING AT ('200812') ,
            PARTITION 12 ENDING AT ('200812') ,
            PARTITION 13 ENDING AT ('200901') ,
            PARTITION 14 ENDING AT ('200902') ,
            PARTITION 15 ENDING AT ('200903') ,
            PARTITION 16 ENDING AT ('200904') ,
            PARTITION 17 ENDING AT ('200905') ,
            PARTITION 18 ENDING AT ('200906') ,
            PARTITION 19 ENDING AT ('200907') ,
            PARTITION 20 ENDING AT ('200908') ,
            PARTITION 21 ENDING AT ('200909') ,
            PARTITION 22 ENDING AT ('200910') ,
            PARTITION 23 ENDING AT ('200911') ,
            PARTITION 24 ENDING AT ('200912') ,
            PARTITION 25 ENDING AT ('201001') ,
            PARTITION 26 ENDING AT ('201002') ,
            PARTITION 27 ENDING AT ('201003') ,
            PARTITION 28 ENDING AT ('201004') ,
            PARTITION 29 ENDING AT ('201005') ,
            PARTITION 30 ENDING AT ('201006') ,
            PARTITION 31 ENDING AT ('201007') ,
            PARTITION 32 ENDING AT ('201008') ,
            PARTITION 33 ENDING AT ('201009') ,
            PARTITION 34 ENDING AT ('201010') ,
            PARTITION 35 ENDING AT ('201011') ,
            PARTITION 36 ENDING AT ('201012') ,
            PARTITION 37 ENDING AT ('201101') ,
            PARTITION 38 ENDING AT ('201102') ,
            PARTITION 39 ENDING AT ('201103') ,
            PARTITION 40 ENDING AT ('201104') ,
            PARTITION 41 ENDING AT ('201105') ,
            PARTITION 42 ENDING AT ('201106') ,
            PARTITION 43 ENDING AT ('201107') ,
            PARTITION 44 ENDING AT ('201108') ,
            PARTITION 45 ENDING AT ('201109') ,
            PARTITION 46 ENDING AT ('201110') ,
            PARTITION 47 ENDING AT ('201111') ,
            PARTITION 48 ENDING AT ('201112') ,
            PARTITION 49 ENDING AT ('201201') ) ;
    

  8. #8
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Juin 2008
    Messages : 154
    Par défaut
    Tout à fait d'accord avec les remarques de Luc Orient. Comment DB2 peut il encore fonctionner avec une table du catalogue absente ? N'importe quel bind ou lancement de requête interactif devrait planter, DB2 essayant d'accéder à la plupart des tables du catalogue pour calculer les chemins d'accès. La SYSINDEXPART, c'est une certitude y compris pour les index non partitionnés, cette table contenant une ligne par index ou par partition d'index pour les index partitionné.

    D'accord également avec la codification. Il faut préciser partition 1 puis 2, ...

    Ceci dit, si tu es en V8 de DB2, n'hésite pas à te servir du nouveau partitonnement au niveau table plutôt que index. C'est tout aussi simple et cela évite de devoir créer un index de partitionnement qui souvent n'apporte rien en terme de performance. Dans ce cas, cela permet également de mettre un autre index cluster de la table, ce qui fait que les lignes sont bien organisées à l'intérieur d'une partition. Nous avons fait ces évolutions pour toutes nos tables partitionnées et dans certain cas (gros historique), les gains en perf sont conséquents.

    Bonne utilisation.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 123
    Par défaut
    kesako. A priori, soit notre ami nous dit n'importe quoi, soit on n'est pas sur z. Je suis miro ou quoi.

Discussions similaires

  1. Statut N/A d'un index partitionné
    Par GoLDoZ dans le forum Administration
    Réponses: 2
    Dernier message: 15/11/2011, 14h09
  2. SQL Loader et index partitionnés.
    Par Flint dans le forum SQL*Loader
    Réponses: 0
    Dernier message: 31/05/2010, 14h40
  3. index partitionne unusable
    Par Z3phur dans le forum Administration
    Réponses: 1
    Dernier message: 05/06/2009, 11h17
  4. index partitionné, seul ou accompagné ?
    Par olivanto dans le forum Administration
    Réponses: 7
    Dernier message: 27/02/2008, 14h13
  5. Index partitionné LOCAL/GLOBAL
    Par lalystar dans le forum Oracle
    Réponses: 3
    Dernier message: 11/02/2005, 15h15

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