Clarkent Musclor le shérif de l'espace | MEI a écrit :
Tu peux monitorer plus finement tes requêtes en les "marquant" grâce à :
Code :
DBMS_APPLICATION_INFO.SET_MODULE(monModule); -- et DBMS_APPLICATION_INFO.SET_ACTION(monAction);
|
cf. :
http://docs.oracle.com/cd/B19306_0 [...] appinf.htm
Il suffit qu'à chaque ouverture de connexion Oracle dans ton application tu appels ces deux fonctions avec ce que tu veux en paramètres
Ensuite dans les vues types V$SQL, tu aura le module et l'action de renseigné, donc pour filtrer c'est impeccable.
|
Je n'ai pas encore tester ces deux méthodes, mais j'essaierai merci.
Cependant, j'ai finis par récupérer les traces et les variables binder (le fichier TRC est véritablement bizarre, quand on lui demande de binder les variables il ne fait que les appeler B1 B2 B3 et ensuite affiche un petit paragraphe avec Bind#0 Bind#1 etc ... qui ne correspondent en rien à B1 B2 B3 mais à la première occurence d'une des variable, si B9 est présent en premier sa valeur se trouvera dans Bind#0, c'est vraiment pas sérieux ).
J'ai récupérer les traces en récupérant la session dans TOAD, je n'ai pas encore la requête pour le faire.
Browser session dans TOAD, je vois mon appli, je récupère le SID.
J'exécute cette petite requête pour récupérer le serial et le nom du fichier trc avec son chemin :
SELECT s.sid,
s.serial#,
pa.value || '/' || LOWER(SYS_CONTEXT('userenv','instance_name')) ||
'_ora_' || p.spid || '.trc' AS trace_file
FROM v$session s,
v$process p,
v$parameter pa
WHERE pa.name = 'user_dump_dest'
AND s.paddr = p.addr
Une fois armé du SID et du SERIAL, j'exécute : EXEC DBMS_MONITOR.session_trace_enable(MonSID, MonSerial, FALSE, TRUE);
Et miracle, le fichier finit par s'afficher après quelques requêtes et plusieurs secondes. ---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
|