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
Version imprimable
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
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.
Je pense qu'il cherche quelque chose comme "Using Locator Variables to Identify Exception Locations".
-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
-Si tu as une version > =10GCode:SYS_CONTEXT('USERENV','CURRENT_SQL')
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é...
sûrement sans rapport, mais avec un client récent tu peux faire
Code:SET ERRORLOGGING ON
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:
Cordialement,Code: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);
Franck.
désolé du déterrage de topic
mais comment trouver ces vues system ?
Pour accéder aux vues system il faut avoir des droits.
Essaie de te connecter avec ton utilisateur SYS.