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 :

TKPROF : SQL statements in session


Sujet :

Administration Oracle

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut TKPROF : SQL statements in session
    Bonjour,

    J'ai lu la doc ci-dessous chez Oracle :
    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
    OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
     
    | call    | count |  cpu | elapsed |    disk |  query | current |   rows |
    |---------|-------|------|---------|---------|--------|---------|--------|
    | Parse   |  A  7 | 1.87 |    4.53 |     385 | G  553 |      22 |      0 |
    | Execute |  E  7 | 0.03 |    0.11 |  P    0 | C    0 |  D    0 |  F   0 |
    | Fetch   |  E  6 | 1.39 |    4.21 |  P  128 | C  820 |  D    3 |  F  20 |
    --------------------------------------------------------------------------
     
    Misses in library cache during parse: 5
    Misses in library cache during execute: 1
     
         8  user  SQL statements in session.
        12  internal SQL statements in session.
     B  54  SQL statements in session.
         3  statements EXPLAINed in this session.
     
       Compare  A  &  B  to spot over parsing. In this case we 
       have 7 parses for 54 statements which is ok.
    Je ne saisi pas bien ce qu'ils veulent dirent par : Compare A & B to spot over parsing. In this case we have 7 parses for 54 statements which is ok.
    Quel est le rapport entre les 7 parses et les 54 SQL statements IN session ?

    Merci pour votre aide.

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

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Je ne sais pas d'où vient cette doc, mais pour moi, ce qui est dit n'a aucun sens.
    Sauf si le contexte donne plus d'explication, il n'y a effectivement aucun rapport entre les 7 parses et les 54 SQL statements IN session.
    Cordialement,
    Franck.

  3. #3
    Membre expérimenté
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bonjour,
    Je ne sais pas d'où vient cette doc,
    Il vient probablement de Note:32951.1
    https://supporthtml.oracle.com/ep/fa...spx?id=32951.1

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Bonjour Frank,

    Comme l'indique Yong321, cette doc provient de Metalink. En fait, je cherche de la doc pour conprendre les détails des sorties de TKPROF et de STATSPACK.

    Merci pour votre aide.

  5. #5
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Ah oui. Même si ca vient du support oracle, je maintiens que pour moi ça ne veut rien dire. Comparer le nombre de parse calls (non-recursifs) avec un nombre total de curseurs (recursifs inclus, et sans savoir le nombre d'exécutions)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Et si non, pouvez-vous m'indiquer où je peux trouver des info fiables et utiles sur les détails des sorties de TKPROF et de STATSPACK ?

    Merci d'avance.

  7. #7
    Membre expérimenté Avatar de Ahmed AANGOUR
    Homme Profil pro
    DBA Oracle
    Inscrit en
    Janvier 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle

    Informations forums :
    Inscription : Janvier 2010
    Messages : 139
    Par défaut
    Citation Envoyé par tibal Voir le message
    Et si non, pouvez-vous m'indiquer où je peux trouver des info fiables et utiles sur les détails des sorties de TKPROF et de STATSPACK ?

    Merci d'avance.
    Dans le livre de Cary Milsap "Optimizing Oracle Performance" ou celui de Tom Kyte "Effective Oracle By design"
    Même si ces bouquins datent de la 9i ils constituent une référence

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Par défaut
    Merci Ahmed.

  9. #9
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par Ahmed AANGOUR Voir le message
    Dans le livre de Cary Milsap "Optimizing Oracle Performance" ou celui de Tom Kyte "Effective Oracle By design"
    Même si ces bouquins datent de la 9i ils constituent une référence
    Le livre de Cary Milsap ne contient pas vraiment de informations ni sur TKPROF ni sur StatPack. Plutôt vous allez trouver les détails des fichiers trace et surtout comment les lire et les interpréter pour réaliser le profil du traitement ce qui constitue la base de sa méthode d’optimisation nommé « Method R »

  10. #10
    Membre expérimenté Avatar de Ahmed AANGOUR
    Homme Profil pro
    DBA Oracle
    Inscrit en
    Janvier 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle

    Informations forums :
    Inscription : Janvier 2010
    Messages : 139
    Par défaut
    Oui c'est vrai, mais si on sait lire une trace 10046 on sait interpréter un Tkprof.
    Sinon y' a aussi le chapitre 3 du livre de Christian Antognini "Troubleshooting Oracle Performance", de très loin mon livre préféré sur les perf Oracle. Mais par contre dans ce livre y'a rien ni sur Statspack ni sur AWR

  11. #11
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    A mon avis, le meilleur point de départ, c'est la doc Oracle.
    Il y a une doc 'Tuning' - a lire de bout en bout
    Il y a une doc 'Reference' pour lire la définition de chaque statistique
    Et bien sur la doc 'Concept'

    Par exemple, la sortie tkprof devient limpide dès que les concepts fondamentaux sont compris:

    - A quoi correspondent les opérations Parse, Execute, Fetch
    D'après ça, ce qu'il faudra regarder dans tkprof, c'est le nombre de parse (idéal 1) par rapport au nombre d'exécute.
    Et aussi le nombre de lignes (rows) par fetch (ideal plusieurs)

    - Ensuite à quoi correspondent cpu , elapsed (savoir que la différence entre les 2 devrait se retrouver dans les wait events)

    - A quoi correspondent les lectures physiques (disk) par rapport aux lectures logiques (query+current)

    - A quoi correspondent les lectures consistentes (query) à la différence de current

    - Savoir que 'misses in library cache during parse' c'est un hard parse et que 'misses in library cache during execute' c'est une invalidation

    Bon courage,
    Franck.

  12. #12
    Membre expérimenté Avatar de Ahmed AANGOUR
    Homme Profil pro
    DBA Oracle
    Inscrit en
    Janvier 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle

    Informations forums :
    Inscription : Janvier 2010
    Messages : 139
    Par défaut
    1000 fois d'accord avec franck, la maitrise des concepts Oracle permet d'appréhender n'importe quel problème.

    Citation Envoyé par pachot Voir le message
    Et aussi le nombre de lignes (rows) par fetch (ideal plusieurs)
    S'il s'agit d'un DML les rows se verront dans la phase EXECUTE et pas dans la phase FETCH

    Citation Envoyé par pachot Voir le message
    Ensuite à quoi correspondent cpu , elapsed (savoir que la différence entre les 2 devrait se retrouver dans les wait events)
    d'où l'intérêt de capturer les wait events quand t'actives ta trace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter session set events '10046 trace name context forever, level 12';
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter session set events '10046 trace name context forever, level 8';
    A+

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/05/2007, 09h08
  2. [DB2 V8] SQL0901N the SQL statement failed
    Par dngaya dans le forum DB2
    Réponses: 1
    Dernier message: 05/10/2006, 06h17
  3. PL/SQL : vue v$session
    Par madina dans le forum PL/SQL
    Réponses: 1
    Dernier message: 31/05/2006, 10h14
  4. [VBA-A2003] Export d'un Recordset vers Excel, avec SQL statement
    Par Wanoo14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2006, 22h06
  5. Réponses: 5
    Dernier message: 18/04/2005, 12h38

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