Bonjour,
Il nous arive parfois d'être appelé à constater qu'un process oracle sur un sevreur consomme des ressources (ex: CPU)
Si l'on regarde la copie d'écran ci-dessus, dans notre outil préféré (putty.exe), et via la commande "top", je constate q'un process oracle (pid=23257) consomme du CPU.
Evidemment, je suis sur un environnement ou il y a plusieurs process en cours, et je souhaite cependant pouvoir identifier assez rapidement la session sql qui tourne, voir identifier la requête.
Pour cela, nous pouvons nous connecter en SQL+.
sqlplus /nolog
SQL> connect / as sysdba
SQL> SELECT S.SID,S.SERIAL#,S.SQL_ID,q.SQL_TEXT
SQL > FROM v$PROCESS p,v$SESSION s,v$SQL q
SQL > WHERE p.ADDR=s.PADDR
SQL > AND S.SQL_ID=q.SQL_ID
SQL > AND p.SPID=23257;
Et voila, le tour est joué, nous avons pu ainsi identifier la session et la requête consommatrice.
On peut evidemment adapter la requête pour y recuperer d'autres informations (Schema, OsUser, Module,...) Mais je vous laisse regarder les informations que l'on peut trouver dans les vues concernées pour adapter la requête à vos besoins.
@+
LAO.