Matar sesiones

Alguien sabe si hay alguna manera de “matar” TODAS las sesiones abiertas a ciegas, sin bajar el motor y sin suministrar el ID de la sesión?

Esto es porque a veces quedan sesiones abiertas con el usuario “Alumno”, del G3W, y no se puede hacer el export. La idea es si hay algún comando, incorporarlo en el BAT que hace el export automáticamente.

Saludos

Gustavo

Las sesiones las cachea el servidor web, quizás sea más fácil reiniciar el servidor web. :slight_smile:

onmode -u
te lo pasa a quiesent matando todas las sesiones.
Te sirve?

Emilio

Podría ser … debería probar. Y en modo quiescent se puede hacer el export y después ponerlo normal??

O tengo que hacer un onmode -u e inmediatamente después pasarlo a modo no quiescent? Como era el comando para sacarlo de modo quiescent?

La idea es ejecutar todos los comandos con un BAT o CMD, sin interacción del operador. Hoy maté la sesión con un onmode -z, pero porque podía saber el sesion ID. Si se corre a las 3 de la mañana como una tarea programada tiene que ser automático. Se entiende?

Saludos

Gustavo

no te va a dejar puesto que no acepta conexiones en modo quiesent

onmode -m(ultiuser)

y luego el dbexport.
que se conecte alguien en ese instante sería medio poco probable.

onmode -j
te pasa a single user y cierra todas las conexiones que no sean dba o informix.

Ok. Gracias! Lo pruebo en la semana y comento.

Saludos

Gustavo

Emilio:

En mi instalación (IDS 2000 9.21 TC4) no existe el comando onmode -j.

Me dice “onmode: unknown option -j”

Vos lo probaste?

Saludos

Gustavo

ups…
disculpá el error.
lo vi en 11.5
no lo controlé con la 9.
Perdón.

Emilio

Puede ser onmode -s ? Es lo mismo?

Saludos

Gustavo

no. eso te lo pasa a quiesent y tendrás que volverlo a multiuser (onmode -m) pero te va a matar todas las sesiones

Ni siquiera … No mata todas las sesiones, hace un “Graceful Shutdown”, es decir espera que las sesiones terminen solas o alguien las mate y para colmo en Quiescento no me deja conectar para hacer el Export.

Conclusión: no me sirve y no tengo como … Para colmo siempre queda enganchada una sesión del 3W, que no sé si es por lo que dice Freddy, que queda cacheada.

Saludos

Gustavo

El código siguiente esta en bash para linux y mata todas las sesiones que no sean de root o informix.
awk para windows lo conseguís aca: http://gnuwin32.sourceforge.net/packages/gawk.htm
tendrías que ver la forma de programar un script similar en vbs o js de windows script.

CONECTED_USERS=`onstat -u | awk '$1 ~ /[0-9]/ && $4 !~ /'root'|'informix'/ && $2 !~ /'active'/ {print $3}'`
for CONECTED_USER in $CONECTED_USERS ; do
    onmode -zy $CONECTED_USER;
done

en IDS 2000 9.21 TC4
onmode -u -y
te lo pasa a quiesent matando todas las sesiones.

onmode -m
te lo pasa a online

yo diría
onmode -u -y
onmode -m
dbexport …

debería funcionar.

armé exportar.bat con

onmode -u -y
onmode -m
dbexport %1

abrí una conexion con sql editor y desde la consola corrí

exportar siu_agro2

y largó la exportación.
todo esto en la misma máquina.

Ok. Por la tarde o mañana lo pruebo. Gracias Emilio!

Saludos

Gustavo

Emilio:

Lo probé y funcionó joya. Ya lo dejé en el bat.

La única consecuencia es que no puedo disparar el export de la base de grado y la de posgrado simultaneamente, ya que ambas ponen el motor en Quiescent.

Lo que me queda por hacer es unificar los procesos para que se realice primero uno y después el otro. Todo esto es porque ese servidor tiene problemas y no funcionan las tareas programadas que antes funcionaban. Y esto es hasta que cambie el servidor.

Pero sirvió para aprender.

Saludos

Gustavo