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 :

[ALL] Total Wait Time / Total DB Time


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Points : 102
    Points
    102
    Par défaut [ALL] Total Wait Time / Total DB Time
    Bonjour,

    J'essaye de trouver une requête permettant de me retourner le total des attentes par rapport au temps total passé dans la base de données.

    Je penses qu'il faut se baser à partir de la 10g sur les données contenues dans les rapport AWR, avez vous déjà fait quelque chose de semblable ?

    Cyrille

  2. #2
    Expert éminent
    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 : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Points : 6 446
    Points
    6 446
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par Cyborg289 Voir le message
    le total des attentes par rapport au temps total passé dans la base de données.
    En général, on compte les wait events ('attentes') dans le db time ('temps total passé dans la base de données').
    Pouvez-vous préciser le besoin ?
    Cordialement,
    Franck.

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Points : 102
    Points
    102
    Par défaut
    Bonjour,

    Effectivement les attentes sont incluses dans le DB time, ce que je voudrais c'est justement savoir combien de pourcentage du DB time représentent les attentes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT
      metric_name,
      ROUND(AVG(value),1) "Average Wait time %"
    FROM
       v$sysmetric_history
    WHERE metric_name = 'Database Wait Time Ratio'
    GROUP BY metric_name;
    Avec cette requête j'obtiens le pourcentage d'attente par rapport au DB time pour la dernière heure, je me demandais s'il est possible d'obtenir la même information sur une période plus longue, du genre 1 jours, 2 jours ...

    Merci

  4. #4
    Expert éminent
    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 : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Points : 6 446
    Points
    6 446
    Billets dans le blog
    1
    Par défaut
    Oui, c'est possible.
    Les wait events tout comme le DB time est dans AWR. DBA_HIST_SYS_TIME_MODEL a le 'DB time' et le 'CPU time'. Le temps d'attente est la différence.

    Mais ce ratio risque d'être inutile, et encore plus sur des périodes longues.
    Quel conclusion si vous avez 90% d'attente ? Et si vous avez 10% d'attente ?

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Points : 102
    Points
    102
    Par défaut
    Bonjour,

    Je comprends bien le problème, si on a beaucoup d'attente cela signifie quand même un problème sur la base de données, par contre si on en a pas beaucoup il faut faire attention à la mesure car sur un période de 24h si on a seulement 2h d'activité avec une forte attente celle_ci ne paraîtra pas via cette requête.

    Que pouvez vous me suggérer ?

    Cyrille

  6. #6
    Expert éminent
    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 : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Points : 6 446
    Points
    6 446
    Billets dans le blog
    1
    Par défaut
    si on a beaucoup d'attente cela signifie quand même un problème sur la base de données
    Pourquoi ? Une instance qui passerait tout son temps en CPU dans aucune attente (donc aucun i/o) ce serait louche aussi, non ?

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Points : 102
    Points
    102
    Par défaut
    Bonjour,

    Pour ma si l'instance passe son temps en CPU c'est normal, après tout c'est bien ce qu'on lui demande, c'est même une situation idéale.

    Par contre si il y a trop d'attente (hormis le CPU time) c'est bien l'indication d'un problème sous-jacent non ?

    J'ai abandonné l'idée de faire une requête historique mais plutôt de faire un ratio sur chaque heure avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT
      metric_name,
      ROUND(AVG(value),1) "Average Wait time %"
    FROM
       v$sysmetric_history
    WHERE metric_name = 'Database Wait Time Ratio'
    GROUP BY metric_name;
    Dans la vue v$sysmetric_history le Database Wait Time Ratio exclue le CPU time est lui retourné par CPU Time ratio.

    Cyrille

  8. #8
    Expert éminent
    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 : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Points : 6 446
    Points
    6 446
    Billets dans le blog
    1
    Par défaut
    Pour ma si l'instance passe son temps en CPU c'est normal, après tout c'est bien ce qu'on lui demande, c'est même une situation idéale.
    Idéale pour Oracle Corporation, oui, que que les licences se payent au nombre de CPUs

Discussions similaires

  1. total colonne et total ligne dans une requete croisée
    Par maamer dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 11/06/2018, 12h37
  2. DB time vs CPU time vs Elapsed time vs Waits
    Par zidane2012 dans le forum Oracle
    Réponses: 3
    Dernier message: 11/12/2012, 07h31
  3. Réponses: 5
    Dernier message: 22/01/2009, 10h20
  4. [ASE12.5.4] cpu time et elapsed time
    Par ngaya dans le forum Sybase
    Réponses: 3
    Dernier message: 10/05/2007, 14h18
  5. Total et s/total de colonne dans une requete
    Par Luc01 dans le forum Access
    Réponses: 9
    Dernier message: 02/01/2006, 11h43

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