martes, 8 de enero de 2013

Reiniciando el pool de conexiones de Oracle 11g a lo bestia

La semana pasada me encontré con un problema en el entorno de desarrollo, el pool de conexiones de Oracle. El problema en concreto es que el pool se llena demasiado rápido y hay que estar reiniciando Oracle constantemente. Por defecto Oracle admite 20 conexiones de pool, aunque este valor se puede incrementar.

¿Pero que pasa si hay varias máquinas de desarrollo (tomcat + eclipse) apuntando al mismo oracle? Pues que aunque subamos el pool al final del día vuelve a estar lleno y es necesario vaciarlo.

La forma bonita sería entrar como SYSDBA y ejecutar:

SYS as SYSDBA:
SQL> EXEC DBMS_CONNECTION_POOL.stop_pool;
SQL> EXEC DBMS_CONNECTION_POOL.start_pool;

Pero claro, ¿qué ocurre si no tenemos el password del usuario? ¿ o si no están los listener necesarios configurados? ¿o simplemente si queremos hacerlo "de otra forma" pero que sea más rápida?.

Mi solución ha sido un poco bestia, como matar moscas a cañonazos, pero efectiva.

Viendo los procesos del sistema

ps aux|grep oracle

me di cuenta de había procesos con la nomenclatura oracle+SID, en mi caso oracleorcl.

ps aux|grep oraceorcl

Por tanto se pueden matar procesos a mano (kill -9) para liberar pool. Pero claro, 20 ó 30 procesos a mano es un poco pesado. Googleando un poco y combinando post nos sacamos de la manga el comando:

ps aux|grep oracleorcl| awk '{print $2}' |xargs kill –KILL

y matamos a todos de golpe :D

Lo malo es que tiramos las conexiones activas (vamos, que podemos joder al personal), así que hay que avisar a los compañeros antes, pero es un mal menor.

Y la pregunta clave, ¿todo esto para qué? Pues simplemente ganamos un poco te tiempo y ya no es necesario reiniciar Oracle, y porque me divirtió investigar este tema, por supuesto ;D

Por cierto que este problema de pools al parecer sólo se da en java, ya que el driver de oracle no libera las conexiones pilladas.

saludos

domingo, 23 de diciembre de 2012

Feliz Navidad.

Aunque este blog lo creé en 2011, no fue hasta julio de 2012 que me lo tomé un poco más en serio. Al principio lo iba a usar como blog de notas personal, con acceso privado para escribir chuletillas que uso de vez en cuando en el trabajo, pero por motivos que no vienen al caso decidí hacerlo público y cambiar un poco el tipo de contenidos.

No fue hasta octubre (no podría jurarlo) que incorporé estadísticas de google, así que los datos no son del todo fiables. Aún así ha sido un placer recibir unas 500 visitas estos meses y comprobar que los códigos que escribo han servido para facilitar el trabajo al visitante.

Estadísticas del año 2012 por países.

Algunos de los post como las series de OpenETL han sido fruto del trabajo de meses de investigación sobre la librería, viendo el código por dentro, haciendo pruebas, etc. Otros en cambio han sido resultados de búsquedas de bing y google sobre temas en concreto que yo después de leer cientos de post he tratado de ordenar. En estos casos siempre he citado, y lo seguiré haciendo, las referencias.

Como he comentado, durante estos meses he tenido unas 500 visitas. La mayoría han sido españolas, aunque otras han venido de países como México, Alemania, EEUU, etc. Cuatro navegadores han sido los usados para ver el blog. Me sorprende que Chrome esté en cabeza de navegadores usados, creo que Google ha hecho un buen marketing.

Estadísticas del año 2012 por navegador.

A todos los visitantes del blog, os deseo que paséis unas muy felices fiestas. Espero veros por aquí el año que viene.

Feliz navidad.

lunes, 17 de diciembre de 2012

Instalando el cliente VPN de Cisco en windows 7.

En algunos windows 7 el cliente de cisco se instala correctamente, pero después no permite realizar ninguna conexión.

En la propia página de cisco encontré la solución: es necesario aplicar las actalizaciones de DNE. El problema es que la instalación de estas dan error el error:

Error 27850: unable to manage network component

Así que una vez más, google al rescate.

El proceso para instalar el cliente quedaría de la siguiente forma:

Primero hay que modificar el registro de windows cambiando el valor de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\MaxNumFilters desde 8 a 14 (en decimal).

Después hay que instalar el Citrix DNE update . Se descarga desde:

  • ftp://files.citrix.com/dneupdate.msi for 32-bit
  • ftp://files.citrix.com/dneupdate64.msi for 64-bit

La información en la propia página de Citrix.

Por último se instala el cliente, que se descarga también de Citrix (en este caso hace falta crearse una cuenta).

Saludos.

Related Posts Plugin for WordPress, Blogger...