miércoles, agosto 26, 2009

ORA-04030: out of process memory when trying to allocate 123404 bytes

Hace algunos días empece a recibir errores extraños en una de nuestras aplicaciones. Ocasionalmente nos reportaban que no podian hacer algo o que no se mostraba cierta información, pero cuando volvían a probar la aplicacion empezaba a funcionar correctamnete.

El problema con este tipo de reportes, es que son bastante difíciles de encontrar y de replicar, por consiguiente se empiezan a volver difíciles de resolver.

La aplicación es una aplicación web en java que consulta una base de datos oracle, ambos servidores estan corriendo sobre windows.

Lo primero que hicimos fue empezar a generar logs adicionales a los bloques de codigo que pensabamos pudieran estar fallando, empezamos a encontrar errores de este tipo desde mis programas:

java.sql.SQLException: ORA-04030: out of process memory when trying to allocate 123404 bytes (QERHJ hash-joi,kllcqas:kllsltba)

y desde el sistema operativo empece a ver errores en el event viewer que decían que no se podía asignar memoria a un thread de la base de datos.

Aclaro que no soy DBA, soy desarrollador. Pero a veces como desarrollador es necesario involucrase en temas de infraestructura para poder identificar los problemas que suceden.

Tenía una maquina con 4gb de ram y cuando miraba la memoria de la maquina no pasaba de los 2gb.

Encontramos 2 temas que estaban causando el problema:
1. El servidor es un windows de 32 bits, y por ser un windows de 32 bits no puedo tener ningún proceso en ejecución con mas de 2gb de uso de memoria.
Se modifico el boot.ini del servidor para que pudieran utilizarse hasta 3 gb de ram en un solo proceso.

http://technet.microsoft.com/es-es/library/bb124810.aspx

2. Revisando los parámetros de la base de datos, encontré que se tenía configurado un SGA de 2GB y un PGA de 1.6GB. Por lo que el tamaño del proceso que estaría ejecutando el oracle llegaría a tener hasta 3.6 GB en memoria. Procedímos a cambiar los parámetros de configuracion de la base de datos para corregir el tema.

Este cambio se hizó en los parámetros, sga_target y pga_aggregate_target.

saludos!

sábado, agosto 01, 2009

Silla (poema)

Antes de ser programador (durante mi adolescencia) era más artístico. Escribí algunos poemas que a veces leo y que guardo con mucho cariño. Hoy publicaré un poema o escrito que hice hace ya algún tiempo en una fugaz comunicación entre los 2 lados de mi cerebro.

-------------------------------------------

Silla

Una mañana desperté, y estaba muerto. Escupiendo gusanos por mi ojos, estaba sentado frente al monitor de siempre, con la manos sobre el teclado, con raíces brotando de mis uñas y encarnándose en el decadente espacio de la alfombra.
Muerto.
Con un pequeño resplandor en mi rostro, reflejo del ups aún prendido.
A lo lejos, todavía se escuchan los susurros sobrantes de cientos de reuniones sobre la mesa, de miles de discusiones infructuosas y banales. Hoy nada.
Solo yo,
Muerto.
Desvestido ya; más la ropa está aún planchada sobre mis piernas.
No recuerdo cuando me quedé dormido, no recuerdo cuando olvidé mi nombre, o el tuyo. Solo sé que paso… y que seguía sentado.
Una mancha de café sobre la mesa... y en el amarillo de mis dientes.
¿Cuándo comenzó a endurecerse mi rostro… y cuándo mis manos?
¿Cuándo empezó a confundirse el día y la noche… y cuándo dejo de importarme?
Todo pasa… Y el pasado se convierte en un pequeño resentimiento a la nostalgia, y en seguir allí. Absorbiendo la luz del monitor, dejando que mis ojos se carcoman. Y mi voz, cada ves mas callada y sola.
Sentado.
¿Cuántas veces tendré que morir para olvidar esto?
¿Cuántas veces volver a pensar lo mismo… y seguir tratando?
¿Cuantos silencios?… solo quedo yo, sentado, destruyéndome, viendo como mi deformado cuerpo se esconde tras mi mente… Y la luz del monitor! siempre allí, prendido, con su maldito calor quemándome, pegando mis articulaciones hasta el punto de no poder levantarme.
Sigo aquí sentado en esta silla cada vez mas grande, las ventanas cada vez mas chicas, el frió del aire, la Luz del monitor, las gigantescas paredes, el inalcanzable techo, las enormes sillas y mis delgadas y secas piernas que se enredan en sus patas llegando a la alfombra, arañándola, rasgándola, como queriendo enterrarse. Y los gusanos que se arrastran por mi cuerpo y me comen.
Y me seco, y me muero… Ya mi cuerpo no responde y no se levantarme. Solo seguir sentado. Me quedo quieto… y por momentos duermo. Abro los ojos y es igual, duermo otra vez. Seguir tratando. Solo puedo a veces respirar, las noche cada ves es mas larga, y el amanecer que no termina de llegar. Vuelvo a dormir, despierto. Miro el reloj y sigue igual. La misma luz enfrente, mis manos igual. Cada ves mas oscuro y mas silencio.
Me estoy quedando solo.
Como molestan estos malditos gusanos.. y la luz! No me deja dormir, ni respirar. Y este café que me mata, y el silencio. Y este sueño que no acaba, esta noche interminable. La incomodidad de mi silla,
y volver a dormir…


carcasco - 02 de Octubre del 2,001