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 :

Colonnes TOTAL de DBA_HIST_SQLSTAT


Sujet :

Administration Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut Colonnes TOTAL de DBA_HIST_SQLSTAT
    Bonjour,

    Je cherche à récupérer des statistiques de AWR sur les requêtes SQL mais je récupère des données étranges.

    La table DBA_HIST_SQLSTAT donne le temps CPU utilisé par un curseur particulier (CPU_TIME_TOTAL). Ce temps est un temps cumulé depuis le démarrage de l'instance selon la doc Oracle. Donc mon raisonnement est le suivant :

    Le temps CPU utilisé par la requête entre 2 snapshots est : CPU_TIME_TOTAL de fin - CPU_TIME_TOTAL de début.

    Mais je me retrouve alors avec des temps négatifs !
    Voilà un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
      s.SNAP_ID,
      h.STARTUP_TIME,
      SQL_ID,
      PLAN_HASH_VALUE,
      CPU_TIME_TOTAL*POWER(10,-6) "CPU_TIME_TOTAL",
      ELAPSED_TIME_TOTAL*POWER(10,-6) "ELAPSED_TIME_TOTAL"
    FROM
      DBA_HIST_SQLSTAT s,
      DBA_HIST_SNAPSHOT h
    WHERE s.SNAP_ID IN (431, 432, 433)
    AND SQL_ID='7ca0jht73uv92'
    AND s.SNAP_ID=h.SNAP_ID
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       SNAP_ID STARTUP_TIME                   SQL_ID        PLAN_HASH_VALUE CPU_TIME_TOTAL ELAPSED_TIME_TOTAL
    ---------- ------------------------------ ------------- --------------- -------------- -------------
           431 11/06/08 14:33:43,000          7ca0jht73uv92       552933365     221,775941         258,019053
           432 11/06/08 14:33:43,000          7ca0jht73uv92       552933365     274,695173         315,785084
           433 11/06/08 14:33:43,000          7ca0jht73uv92       552933365      11,045736          18,800089
    Si je prend comme intervalle les snap 432-433, la requête à consommé un temps CPU négatif (la requête executée 10s avant de se lancer ).
    Je précise que j'ai plusieurs requêtes qui génère des conso. CPU négatives et pas qu'une seule... et que les valeurs négatives sont aussi pour le nombre d'exécution, de parse etc...

    Est-ce que quelqu'un à une explication ?


    Merci

  2. #2
    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
    ta base n'a pas redémarrée depuis ? La requête n'est pas exécutée plusieurs fois ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    Citation Envoyé par orafrance Voir le message
    ta base n'a pas redémarrée depuis ?
    Ca change rien. J'ai les 2 cas et j'ai des problèmes identiques
    Citation Envoyé par orafrance Voir le message
    La requête n'est pas exécutée plusieurs fois ?
    Si beaucoup de fois même !
    Nouvelle requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       SNAP_ID STARTUP_TIME                   SQL_ID        PLAN_HASH_VALUE EXECUTIONS_TOTAL EXECUTIONS_DELTA CPU_TIME_TOTAL
    ---------- ------------------------------ ------------- --------------- ---------------- -----------
           431 11/06/08 14:33:43,000          7ca0jht73uv92       552933365             1239              154     221,775941
           432 11/06/08 14:33:43,000          7ca0jht73uv92       552933365             1533              294     274,695173
           433 11/06/08 14:33:43,000          7ca0jht73uv92       552933365               56               56      11,045736

  4. #4
    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
    si ça change, redémarrage de base = indicateurs remis à zéro donc un rapport avec un redémarrage au milieu ça ne sert à rien

    Sinon, c'est peut-être un bug

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    Oui c'est vrai. Mais dans le cas que je mets au dessus, il n'y a pas eu de redémarrage (le startup_time est identique).

    Je pense que c'est plus une histoire du collecteur AWR qui arrête son job dans les cas où ça risque de ralentir la base. Mais c'est dommage qu'il ne l'indique pas dans la table...

    Je continue à chercher, sinon il faut que j'utilise les deltas...

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    Bon apparemment, la RàZ des Total se fait souvent : dès que le contexte change (et donc qu'il y a à nouveau un Hard Parse).

    http://asktom.oracle.com/pls/asktom/f?p=100:11:0:::11_QUESTION_ID:912859800346801944#943556300346135141


    Citation Envoyé par TOM
    Anything that causes the sql to age out - eg, here I added a primary key, it invalidated the sql, the new hard parse starts everything over again.
    Donc je vais devoir utiliser les Deltas (et ça m'enchante guère)...

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

Discussions similaires

  1. Opération sur la colonne total dans un crosstab
    Par sylv1Gr dans le forum iReport
    Réponses: 0
    Dernier message: 27/05/2010, 15h16
  2. Inclure colonne total d'un TCD dans un GCD
    Par Lucorah dans le forum Excel
    Réponses: 1
    Dernier message: 12/05/2010, 11h03
  3. Calcul d'un ratio dans la colonne total
    Par datametric dans le forum Cognos
    Réponses: 3
    Dernier message: 18/03/2010, 10h12
  4. [MySQL] Colonne total dans un tableau
    Par vivicente dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/11/2009, 08h08
  5. [VBA-E] Colonne total dans tableau croisé dynamique
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2007, 18h24

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