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

Oracle Discussion :

Résultat de Tkprof


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 137
    Par défaut Résultat de Tkprof
    Bonjour,

    L’application de TKPROF sur une session oracle me donne le résultat suivant (voir fichier joint) :

    SVP Quelqu’un pourrait m'aider svp à interpreter cette partie

    1.C’est qoui le cr ? r ? w ? dans le plan d’execution ?

    2.Et je trouve aussi elapsed plus grand cpu est –il normal ? si non qu’est ce que ca pourrait etre ?
    3. que signifie le latch free et les enqueue?


    Merci de votre aide , j’en ai besoin
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Tu ne donne pas la version Oracle.


    Citation Envoyé par Mehdilis
    1.C’est qoui le cr ? r ? w ? dans le plan d’execution ?
    c : Temps Cpu Totale consommé par des appels de la base. En micro-secondes depuis Oracle 9i et en Centieme-secondes avant 9i. (Il faut toujours donner la version Oracle)


    cr : Nombres de lectures logiques (lecture depuis le disque)
    Nombres de blocs Oracle obtenus depuis le buffer cache dans un mode logique.

    r : nombres de lignes retournées ou c'est plutôt le nombre de bloc oracle lu avec les appels de lecture OS.

    w : Nombre de blocs oracle écrit par des appels de lecture OS.

    Citation Envoyé par Mehdilis
    2.Et je trouve aussi elapsed plus grand cpu est –il normal ? si non qu’est ce que ca pourrait etre ?
    C'est normal, tu attend sans rien faire suite a un blocage (enqueue)
    par exemple : tu attend un bus pendant 15 mn et utilise ton cerveau pendant 5mn. Tu a passé 15 mn a attendre (elapsed) et tu utilisé ton cerveau 2 mn (cpu).


    Citation Envoyé par Mehdilis
    3. que signifie le latch free et les enqueue?
    Pour les latchs essaye de voir le tutoriel de jaouad.

    Un Latch est un mecanisme interne à oracle utilisé pour protéger les access simultanés au structures de données dans la memoire SGA. Il protege le tampon memoire comme le verrou protege les lignes d'une table. Il est implementé par des instructions atomiques materiel comme TEST-AND-SET, COMPARE-AND-SWAP et LOAD-LOCK-STORE. Les latch sont plus restrectives que les verrous et ils sont toujours exclusives. Les Latchs ne sont jamais mis en file d'attente, mais il font des rotations (spin) ou il dorent jusqu'il obtient la ressource, ou un timeout.

    Pour les Enqueues


    ENQUEUE est un mécanisme de verrous très sophistiqué qui consiste à gérer les accées au ressources partagés , comme les tables, les transactions. Normalement il est utilisé pour éviter que plusieurs processes accedent à la même structure de données en même temps, ou pour autoriser les sessions à partager la même ressource quand leurs modes de verrous sont compatibles . Quand une session demande un verrou sur une partie ou sur la totalité de l'objet, et si le verrou demandé est incompatible avec le mode detenu par une autre session, la session qui demande le verrou met sa demande dans une file d'attente (enqueue) et attends d'être servis. Cette attente est connus sous le nom enqueue wait.

    On peut associer un Enqueue à une session ou à une transaction et non pas à un processus, et il est souvent synonyme au mots LOCK (verrou).

    Un verrou enqueue est lui même un verrou. Oracle utilise un tableau distinct du ressources enqueue pour gérer les verrous enqueue.Cette strcture peut être vu dans la vue X$KSQEQ (kernel service enqueue object) ou dans la vue V$ENQUEUE_LOCK. Le nombre totale de lignes dans la table de verrous est determiné par le parametre caché _ENQUEUE_LOCKS.

    (Attention: la signification des enqueues depends de la versibn oracle 9i ou 10g)

    Ca donne quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL> select * from v$enqueue_lock;
    En faisant une recherche sur le forum, tu trouvera un script pour trouver l'enqueue qui cause cet attente.

    Conclusion : La majorité des cas ca vien d'un parametre de ta table, si je ne me trompe pas, c'est initrans qui est a 1, il faut l'augmenter a 2 ou a 3.

    Essaye de comprendre mon article inachevé : http://mbouayoun.developpez.com/reglredo/#LV

  3. #3
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    note que le enqueue peut être un simple lock : SELECT FOR UPDATE ou mises à jour concurrentes de ligne

Discussions similaires

  1. [8] Interprétation résultat tkprof
    Par couse1 dans le forum Administration
    Réponses: 1
    Dernier message: 20/02/2013, 14h39
  2. Interprétation résultat tkprof
    Par floxone dans le forum Administration
    Réponses: 21
    Dernier message: 24/09/2010, 10h28
  3. Réponses: 1
    Dernier message: 28/05/2009, 15h15
  4. Réponses: 4
    Dernier message: 28/09/2002, 00h00
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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