Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
13 mars 2012 2 13 /03 /mars /2012 15:00

Bonjour,

 

Il nous arive parfois d'être appelé à constater qu'un process oracle sur un sevreur consomme des ressources (ex: CPU)

cpu.jpg

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.

Partager cet article
Repost0

commentaires

L
<br /> blog trés intéressant!<br />
Répondre
L
<br /> <br /> Merci beaucoup !<br /> <br /> <br /> <br />