La procédure "SET_SQL_TRACE_IN_SESSION" du package d'Oracle "DBMS_SYSTEM" permet d'activer et de désactiver la trace SQL sur n'importe quelle session en cours. L'activation d'une trace à partir de cette procédure est l'équivalent d'activer l'évènement "10046" de niveau 1.
Syntaxe :
DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION
(
sid NUMBER,
serial# NUMBER,
sql_trace BOOLEAN
);
Exemples de trace sur une session dont le SID est 460 et in SERIAL# équivalent à 222 :
Activation
EXEC dbms_system.set_sql_trace_in_session (460, 222, true);
Désactiver
EXEC dbms_system.set_sql_trace_in_session (460, 222, false);
Vous pouvez obtenir la valeur du "SID" et "SERIAL#" en consultant la vue dynamique "V$SESSION".
La colonne "SQL_TRACE" de la vue dynamique "V$SESSION" indique si une trace est en cours sur la session. Lors de l'activation de la trace, la valeur de cette colonne reste "DISABLED" tant qu'il n'y a pas d'opération d'exécuté. Même comportement lors de la désactivation.
Par défaut, aucun privilège et synonyme n'existe pour le package DBMS_SYSTEM. Se connecter sous SYS ou sinon, octroyer les droits à l'utilisateur désiré.
Bienvenue sur mon blog ! Ce blog me sert principalement d'aide mémoire sur des commandes, des tâches journalières, des problèmes rencontrées, des trucs, des astuces, etc. De jours en jours, je l'alimente avec des sujets que je traite. En créant des articles, je m'offre la chance de pouvoir retrouver facilement ces informations et par le fait même, ça me permet de les partager avec vous.
Aucun message portant le libellé SET_SQL_TRACE_IN_SESSION. Afficher tous les messages
Aucun message portant le libellé SET_SQL_TRACE_IN_SESSION. Afficher tous les messages
mardi 27 janvier 2009
S'abonner à :
Messages (Atom)