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 :

Comment analyser tous les index


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut Comment analyser tous les index
    Bonjour,
    Je dois procéder a une évaluation des index éventuellement à rebuider
    Au préalable je souhaiterai analyser tout les index :
    ANALYZE INDEX ALL VALIDATE STRUCTURE;
    La commande ci-dessus ne fonctionne pas.
    Je ne sais pas quels sont les index les plus utilisés par l'application.
    Existe t-il une commande permettant d'analyser tout les index ?
    Sinon comment puis je faire pour déterminer les index les plus sollicités ?

    Merci

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par totoche Voir le message
    Existe t-il une commande permettant d'analyser tout les index
    Ca n'est franchement pas une opération que je recommanderais, en tout cas pas pendant les heures de production, car c'est quelque chose de très consommateur en E/S.

    Si vous vouliez le faire absolument, on peut utiliser la technique de génération de commandes à partir d'un SELECT sur le dictionnaire de données (exemple ici entre autres : http://www.developpez.net/forums/d11...e/#post6513105)

    Quant à savoir quels sont les index les plus utilisés, je me tournerais vers V$SEGMENT_STATISTICS qui me semble tout indiqué.

    Et quant à l'intérêt ou la nécessité de reconstruire les index, une recherche sur le forum devrait ramener pas mal de discussions !

  3. #3
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Merci

    V$SEGMENT_STATISTICS qui me semble tout indiqué
    C'est colonne logical reads qui est la plus approprié dans mon cas ?

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Par défaut
    Citation Envoyé par totoche Voir le message
    Bonjour,
    Je dois procéder a une évaluation des index éventuellement à rebuider
    Au préalable je souhaiterai analyser tout les index :

    La commande ci-dessus ne fonctionne pas.
    Je ne sais pas quels sont les index les plus utilisés par l'application.
    Existe t-il une commande permettant d'analyser tout les index ?
    Sinon comment puis je faire pour déterminer les index les plus sollicités ?

    Merci
    Si je lis bien dans vos pensées, vous voulez analyser tous les indexes afin de voir ceux qui ont un del_lf_rows >= de 20% lf_rows et, auquel cas, vous allez faire un rebuild de ces indexes.

    Si c'est bien le cas alors, merci de laisser tomber ce que vous comptez faire. Lisez bien l'article suivant de Jonathan Lewis:

    http://jonathanlewis.wordpress.com/2...s-3/#more-5252

    qui montre que, se baser sur les del_lf_rows pour localiser les indexes à "rebuilder" n'est absolument pas la bonne méthode.

    Il y a des situations (certes bien particulières) où un index peut bénéficier d'un "rebuild" (Jonathan Lewis a publié certains scripts qui montrent ce genre d'index) mais ce n'est certainement pas en faisant un analyze des index qui non seulement ne sert à rien dans l'identification des indexes inefficaces mais en plus il va véroler (lock) la table inhérente.

  5. #5
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    En effet vous lisez bien dans mes pensées
    Rebuild si Le nombre d’entrées détruites représente 20% ou plus des entrées courantes

    Si je comprends bien l'article, la valeur del_lf_row peut masquer la nécessité d'un rebuild si une traitement de suppression de ligne intervient sur un index déjà fragmenté.
    del_lf_rows
    it’s the number of rows that are marked as deleted by transactions that have committed
    Le premier lot d'index supprimé n'est pas pris en compte , car les les lignes ne sont plus marquées comme supprimée (je ne suis pas sur d'avoir exactement compris ) lors du second commit ?

    Merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2004, 10h17
  2. [String] comment virer tous les espaces vides ?
    Par Alec6 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 14h27
  3. [Tomcat] Comment supprimer tous les logs ?
    Par Soulsurfer dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 11/05/2004, 16h35
  4. Réponses: 4
    Dernier message: 16/08/2003, 13h21

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