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 :

Audit de requêtes longues


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut Audit de requêtes longues
    Bonsoir,
    Nous avons une application se basant sur une base de données Oracle 11G R2 (sur un Windows 2008 Server).
    Nous voulons mettre en place un audit de la base suite à des temps de latence élevés.

    Que me conseillez-vous?
    Je souhaiterai avoir un petit rapport m'affichant les requêtes les plus longues avec le temps écoulé pour une durée de 2h par exemple.

    Quels sont les vues système pour cela?

    Merci d'avance.

  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,
    Suivant que vous ayez Diagnostic pack ou non: AWR ou Statspack.
    Cordialement,
    Franck.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut
    Bonsoir,
    Merci pour les infos.
    Dés demain, je vais me pencher sur statspack.

    Si j'ai bien compris le système, ça va écrire des résultats dans un tablespace que je pourrai ensuite exploiter?

    En tout cas grand merci pour ton message et ta rapidité.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 207
    Par défaut
    Hello;

    La mise en place est rapide
    http://www.lao-dba.com/article-23892335.html

    On peut ensuite faire des rapports (format txt) qui sont riches d'enseignements.

    Ensuite on peut aussi jeter un oeil rapide dans le cache
    http://www.lao-dba.com/article-24435904.html

    @+

  5. #5
    Membre émérite
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Par défaut
    bonsoir,

    bien réducteurs ces liens... et fouiller dans la sql_area implique d'être là au moment où les requêtes sont exécutées ou peu après.
    se pencher sur statspack signifie-t-il que le diagnostic pack est absent?
    si vous avez un serveur d'application, ou des utilisateurs qui accèdent depuis un poste distant, penchez-vous sur les autres éléments pouvant être en cause : le réseau, les serveurs middle_tiers, le paramétrage des array size, result cache, etc. le poste du client est bien loin du serveur de base de données dans ces divers cas mais bien sûr on incrimine toujours d'abord oracle. monitorez les sessions ou la base (dbms_monitor, voir la doc) afin de voir en combien de temps sont traitées les query à partir du moment où elles sont soumises à oracle et jusqu'au moment où la BDD renvoie le résultat. il est probable que dans les traces vous trouverez essentiellement du "sql*net message from client". dans ce cas, la vérité peut être ailleurs que dans la base.
    si vous avez le diagnostic pack, un petit awrrpt sur une période ou un ashrpt vous donneront d'excellentes pistes. dans tous les cas, il va falloir travailler un peu.
    pour moins d'efforts, une dbconsole peut-être...

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut
    Bonjour,
    Merci de vos réponses.

    J'ai une DBConsole d'installée. Comment auditer les requêtes depuis la DBConsole?

    J'ai installé Statspack mais pour le moment pas concluant.

    On va regarde dbms_monitor aussi. Et voir avec mon service coordination pour peut être obtenir le diagnostic pack.

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 73
    Par défaut
    Bonjour,
    Je reviens à la charge concernant l'audit des requêtes.
    J'ai fais installé le diagnostic pack + tuning.

    Je me suis penché sur dbms_monitor mais le problème que j'ai trouvé c'est qu'il faut rajouter un HINT /*+ MONITOR */ dans les requêtes. Or, il s'agit de requêtes transmises par un serveur d'application Jonas avec comme outil JSF et JPA derrière. Donc pas possible pour les développeurs de changer les requêtes.
    Ca m'embête vraiment parce que j'ai trouvé ça simple à mettre en place et les rapports sont clairs.

    Avec la commande AUDIT sur les INSERT, DELETE, SELECT, UPDATE de mon schéma, j'obtiens toutes les requêtes avec le timestamp de début d'exécution mais pas de fin d'exécution (ou directement le coût de cette requête) :'(

    Quelles sont les techniques possibles donc pour :
    - récupérer le temps d'exécution des requêtes exécutées pour un schéma spécifique?

    D'avance merci.

Discussions similaires

  1. Requête longue égalité de NULL
    Par CinePhil dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/05/2009, 17h27
  2. Requêtes longues sur client mais rapides sur serveur
    Par devplanete dans le forum Administration
    Réponses: 10
    Dernier message: 04/02/2009, 10h51
  3. Construction requête => longue exécution
    Par aurelie83 dans le forum SQL
    Réponses: 6
    Dernier message: 22/10/2008, 12h02
  4. Requête Longue durée sur un Serveur
    Par faressam dans le forum Administration
    Réponses: 3
    Dernier message: 10/07/2008, 09h42
  5. Temps d'éxecution d'une requête longue
    Par Adm_Antonio dans le forum Administration
    Réponses: 13
    Dernier message: 04/06/2008, 15h11

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