You are on page 1of 6

Ttulo: Diagnosticar uso de CPU elevado de oracle.

exe en Windows Fecha: 22/08/2011

Diagnosticar uso de CPU elevado de oracle.exe en Windows

Departamento: Asunto:

Proyecto:

Documento: ODMS$_DIAG_CPU_ORA_WIN.docx

N pags: 6

Autor: ODMS http://locutoriorama.blogspot.com/ Fecha de creacin: 22/08/2011 Lista de Distribucin:

Aprobado por: Fecha de aprobacin:

Pgina 1 de 6

Ttulo: Diagnosticar uso de CPU elevado de oracle.exe en Windows Fecha: 22/08/2011

Introduccin.......................................................................................................................................................... 3 Un caso prctico .................................................................................................................................................. 3 Identificar la instancia ..................................................................................................................................... 3 Identificar la sesin oracle. ............................................................................................................................. 4 Referencias...................................................................................................................................................... 6

Pgina 2 de 6

Ttulo: Diagnosticar uso de CPU elevado de oracle.exe en Windows Fecha: 22/08/2011

Introduccin.
En entorno Windows, los procesos de una base de datos Oracle estn implementados como hilos dentro de un proceso principal llamado oracle.exe. Por este motivo, si tenemos varias instancias oracle corriendo en la misma mquina, con las herramientas propias del sistema operativo, no es directo poder identificar qu instancia consume ms CPU, y qu sesin en concreto de dicha instancia es quin provoca ese consumo.

Un caso prctico
Identificar la instancia
Detectamos un uso elevado de CPU en una mquina con varias instancias oracle, mediante herramientas de monitorizacin del sistema, queja de los usuarios, etc. Nos conectamos a la mquina y examinamos el Task Manager:

Sabemos que un proceso oracle.exe es el responsable del consumo elevado de CPU, pero no sabemos exactamente cul de las posibles instancias oracle de esa mquina es concretamente.

La podemos identificar porque tenemos el PID, y con el siguiente comando podremos saber de qu servicio oracle se trata: Tasklist /svc | findstr ora

Pgina 3 de 6

Ttulo: Diagnosticar uso de CPU elevado de oracle.exe en Windows Fecha: 22/08/2011

Identificar la sesin oracle.


Bien, ya sabemos que se trata de la instancia con SID=TPOR10. Ahora necesitamos saber exactamente el identificador del hilo dentro del proceso oracle.exe (6064) que est consumiendo la cpu. Utilizamos la herramienta process explorer. Abriendo las propiedades del proceso 6064, nos muestra un cuadro con sus hilos de ejecucin y el consumo de cpu de cada uno. Aqu vemos que hay dos hilos que consumen alrededor del 50% de cpu cada uno. Apuntamos sus Thread ID: 3800 y 1000.

Pgina 4 de 6

Ttulo: Diagnosticar uso de CPU elevado de oracle.exe en Windows Fecha: 22/08/2011

Ahora nos conectamos a la instancia oracle (TPOR10) e identificamos la sesin oracle que corresponde con cada uno de los hilos que hemos obtenido antes: select p.spid "Thread ID", b.name "Background Process", s.username "User Name", s.osuser "OS User", s.status "STATUS", s.sid "Session ID", s.serial# "Serial No.", s.program "OS Program" from v$process p, v$bgprocess b, v$session s where s.paddr = p.addr and b.paddr(+) = p.addr and p.spid= --TID decimal value-- ;

Pgina 5 de 6

Ttulo: Diagnosticar uso de CPU elevado de oracle.exe en Windows Fecha: 22/08/2011

Y la sentencia que estn ejecutando: select s2.sql_text from v$process p,v$session s1,v$sqlarea s2 where p.addr = s1.paddr and s1.SQL_HASH_VALUE = s2.HASH_VALUE and p.spid= --TID decimal value--;

Ya tenemos identificadas las sesiones oracle que estn consumiendo la CPU y podemos tomar las medidas que creamos oportunas.

Referencias
My Oracle Support: How to diagnose the high CPU utilization of ORACLE.EXE in Windows environment [ID 273646.1]

Pgina 6 de 6

You might also like