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

SQL Oracle Discussion :

Dernière requête exécutée


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Par défaut Dernière requête exécutée
    Bonjour,

    Je cherche à récupérer pour faire une trace dans un script, la dernière requête exécutée. Il n'y aurait il pas une variable système contenant celà (un peu comme le sql%rowcount) ?

    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Par défaut
    Il me semble que la requête est présente dans la library cache. Il y a peut-être un moyen d'y accéder, mais je ne sais pas comment.

  3. #3
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Citation Envoyé par fred_hte_savoie Voir le message
    Bonjour,

    Je cherche à récupérer pour faire une trace dans un script, la dernière requête exécutée. Il n'y aurait il pas une variable système contenant celà (un peu comme le sql%rowcount) ?

    Merci
    Je ne comprends pas tres bien ce que tu cherches a faire, mais les requetes restent une temps (et un temps seulement) dans la SGA, tu peux voir V$SQL, V$SQLTEXT...

    Nicolas.

  4. #4
    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
    Je pense qu'il cherche quelque chose comme "Using Locator Variables to Identify Exception Locations".

  5. #5
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Je pense qu'il cherche quelque chose comme "Using Locator Variables to Identify Exception Locations".
    Exactement j'en suis là actuellement mais j'aimerais avoir la requête plutôt qu'un flag qui dit ou chercher.

  6. #6
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    -Il y a audit en 10G tu as
    le parametre systeme audit_trail =db_extended

    ==> il y a une colone SQL_TEXT



    - Si tu a une version > =9i fined grained auditing

    http://www.oracle.com/technology/ora...nanda_fga.html

    http://www.oracle-base.com/articles/...ting_10gR2.php

    -Il y a le trigger on logon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SYS_CONTEXT('USERENV','CURRENT_SQL')
    -Si tu as une version > =10G
    en graphique ou par requete sur des versions payantes de ASH- AWR
    tu a les dernières requêtes .

    Mais bon , l’intérêt de tout ca peut descendre rapidement si le nombre d'utilisateurs est très élevé...

  7. #7
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    sûrement sans rapport, mais avec un client récent tu peux faire

  8. #8
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Par défaut
    Citation Envoyé par fatsora Voir le message
    -Il y a audit en 10G tu as
    le parametre systeme audit_trail =db_extended

    ==> il y a une colone SQL_TEXT



    - Si tu a une version > =9i fined grained auditing

    http://www.oracle.com/technology/ora...nanda_fga.html

    http://www.oracle-base.com/articles/...ting_10gR2.php

    -Il y a le trigger on logon

    SYS_CONTEXT('USERENV','CURRENT_SQL')

    -Si tu as une version > =10G
    en graphique ou par requete sur des versions payantes de ASH- AWR
    tu a les dernieres requetes .

    Mais bon , l'interet de tout ca peut descendre repidement si le nombre d'utilisateurs est tres elevé...
    Pour l'instant j'utilise la vue V_$SQL mais, je n'ai pas de lien avec la session en cours et les résultats ne sont pas toujours ceux escomptés car j'ai des requêtes d'autres sessions qui perturbent...

  9. #9
    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 prev_sql_id
    Bonjour,
    La dernière requête exécutée (avant celle en cours) est référencée dans v$session (prev_sql_id ou prev_sql_addr et prev_hash_value dans les ancuiennes version).
    Donc tu peux récupérer le texte avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sql_text from v$sql s join v$session m on(m.prev_sql_id=s.sql_id) where sid=(select sid from v$mystat where rownum=1);
    Cordialement,
    Franck.

  10. #10
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bonjour,
    La dernière requête exécutée (avant celle en cours) est référencée dans v$session (prev_sql_id ou prev_sql_addr et prev_hash_value dans les ancuiennes version).
    Donc tu peux récupérer le texte avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sql_text from v$sql s join v$session m on(m.prev_sql_id=s.sql_id) where sid=(select sid from v$mystat where rownum=1);
    Cordialement,
    Franck.
    Merci. J'avais trouvé entre temps la requête suivante qui à l'air de bien marcher aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select Q.SQL_TEXT 
        From V$SESSION S, V$SQL Q
        where S.PREV_SQL_ID=Q.SQL_ID
        and S.AUDSID=USERENV('SESSIONID');

  11. #11
    Membre émérite
    Homme Profil pro
    Indépendant X3 et SQL server
    Inscrit en
    Juillet 2006
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Indépendant X3 et SQL server
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 865
    Par défaut
    désolé du déterrage de topic

    mais comment trouver ces vues system ?

  12. #12
    Membre confirmé
    Inscrit en
    Février 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 80
    Par défaut
    Pour accéder aux vues system il faut avoir des droits.
    Essaie de te connecter avec ton utilisateur SYS.

Discussions similaires

  1. Comment trouver les dernières requêtes SQL exécutées
    Par Tsunamy dans le forum Administration
    Réponses: 13
    Dernier message: 27/03/2021, 12h52
  2. Retrouver la dernière requête exécutée
    Par jfox dans le forum DB2
    Réponses: 1
    Dernier message: 01/04/2011, 15h00
  3. Dernières requêtes exécuter
    Par jojo280 dans le forum Administration
    Réponses: 0
    Dernier message: 17/07/2008, 11h55
  4. Voir les dernières requête Oracle
    Par newchurch dans le forum Oracle
    Réponses: 4
    Dernier message: 11/04/2005, 23h41
  5. Réponses: 44
    Dernier message: 14/03/2005, 09h43

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