Matar sesiones Centos Informix

Tengo un problema con las sesiones del motor y la red. Cuando hay un problema en la red, por ejemplo el cable de red del cliente se desconecta, se quedan sesiones abiertas en el motor sin un cliente que haga las solicitudes. Necesito que me ayudes de que manera puede el Centos identificar si alguna PC se desconecto de la red y mate automáticamente todas las sesiones del motor de bases de datos en este caso informix.

3 respuestas

Respuesta
1
Los problemas de conexión no son detectados por el motor Informix, si un cliente dejó la sesión abierta por el motivo que sea, la sesión quedará así hasta que el administrador la cierre manualmente.
No he trabajado con Informix, ¿pero cómo identificas en el servidor cuales son las sesiones que quedaron abiertas? ¿Pues ax? Netstat -¿Putan? Si hay algún campo que te indique eso, se puede hacer un script que obtenga esas sesiones y haga un "kill -9" al PID asociado.
Gracias, por tu pronta respuesta, puedo hacer algo con este comando net.ipv4.tcp_keepalive_time = 40 me puedes por favor explicar como configuro eso y para que me puede servir???
En el archivo /etc/sysctl.conf debe poner esto:
???net.ipv4.tcp_keepalive_time = 40
Luego debes ejecutar el comando 'sysctl -p'
El valor por defecto de esa variable es 7200 (segundos) y es el tiempo en que el servidor espera por cada paquete de una conexión antes de terminarla.
Aquí puedes leer más documentación sobre esa variable:
http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html
Respuesta
Instala Groundwork... ese te ayudara a descubrir y atacar problemas de la red..
¿Motor? ' ¿A qué te refieres con motor? ¿A Informix?
Motor de bases de datos Informix, lo que sucede es que tenemos un sistema cliente servidor, y obvio el servidor de la base de datos esta Centos, lo que pasa es en un cliente por algún motivo se desconecto el cable de red, en el servidor Informix queda abierta la sesión por el usuario que se le cayo la red, y eso hace que la transacción que estaba ingresando el cliente se quede bloqueado esperando un commit o un rollback, y el resto de clientes ya no pueden trabajar porque están bloqueados, la única forma de que sigan trabajando es que manualmente en el servidor se mate la sesión del cliente que perdió la red, lo que necesitamos es hacer que el centos automáticamente detecte cual cliente perdió la conexión y la mate en ese instante, espero me hayas entendido y me puedas ayudar. Gracias
Groundwork...
Respuesta
De Informix no te puedo ayudar mucho; de todas maneras, mira si puedes matar esas sesiones eliminando procesos del sistema. Ejecuta un "pues aux" i luego "kill proceso" donde proceso es el indentificador del proceso en cuestión

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas