Como ver los procesos internos del Oracle.exe en Windows.

Pues eso amig@s,

Si tienen problemas con que el Oracle en su server windows está consumiendo mucha CPU + del 50% podemos utilizar una herramienta llamada qslice de microsoft para ver los hilos de ejecucion del ejecutable oracle.exe, algo que en linux no hace falta por que cada hilo viene por separado.

Aqui las instrucciones:

Como he comentado antes existe una herramienta que se llama qslice y viene incluida en el resource kit de Windows 2000 pero es compatible con todos los S.O. Se puede descargar desde aquí: http://www.microsoft.com/download/en/details.aspx?id=8414


Luego para utilizarla debemos seguir las instrucciones de esta página http://it.toolbox.com/blogs/david/how-to-identify-cpu-hogging-oracle-sessions-on-a-windows-server-21789 que en resumen nos dice que debemos abrir el qslice desde la carpeta archivos de programa… \resource… \qslice y una vez que tengamos abierto el programa, hacemos doble clic en el ejecutable oracle.exe y nos aparecerán los procesos internos de dicho ejecutable:



Lo que tenemos que hacer con esto es la primer columna que pone TID coger por ejemplo el valor b8c y pasarlo a decimal con la calculadora de Windows que nos da el 2956 luego con ese dato y las consultas que adjunta la página anterior sacaremos el proceso o SID que está causando el consumo de memoria en este caso:

select proc.spid ThreadNO,
sess.username Username,
sess.osuser OSUser,
sess.status Status,
sess.sid SessionID,
sess.program Program
from v$process proc, v$session sess, v$bgprocess bg
where sess.paddr = proc.addr
and bg.paddr(+) = proc.addr
and proc.spid in (2956); << aqui va el valor en decimal.

Tambien tenemos otra query:

select sqlarea.sql_text
from v$process proc,
v$session sess,
v$sqlarea sqlarea
where proc.addr = sess.paddr
and sess.sql_hash_value = sqlarea.hash_value
and proc.spid in (2956); << aqui va el valor en decimal.

Espero que les resulte util.
Saludos.
Share on Google Plus
    Blogger Comment

0 comentarios: