Eliminar conexiones en status killed

bmgdba
02 de Agosto del 2004
Hola a todos, gracias por la ayuda, tengo otro problema, he generado un script que se ejecuta cada 1 hora el cual mata sesiones activas.

Todo bien, pero en la v$session estas sesiones quedan en estado killed, como hago para eliminar las sesiones que estan en ese estado????

desde ya muchas gracias

sys
02 de Agosto del 2004
bajo que S.O. está Oracle??
Normalmente las eliminará tras unos segundos o minutos, en algunos casos se dan bug en ciertos S.O.
Si trabajas bajo unix la mejor forma es matar el proceso de unix

bmgdba
02 de Agosto del 2004
El SO es solaris 9, el problema es que ya voy a 545 sesiones killed, entonces eliminar una a una es demasiado lento.

sys
02 de Agosto del 2004
cuanto tiempo llevan las más antiguas??
que versión de oracle es??
puedes hacer un script que te dé el pid y el kill -9 y luego ejecutarlo desde el shell

bmgdba
02 de Agosto del 2004
La version del oracle es 9.2.0. con parche 9.2.0.4
Todas las conexiones son hoy en la mañana.
Tengo un script que me captura el sid y el serial desde la v$session, y eso funciona.

Gracias

sys
02 de Agosto del 2004
a partir de hoy te recomiendo que no utilices nunca más el 'alter system kill session' y hagas un kill -9 del pid a nivel S.O.

sys
02 de Agosto del 2004
mira a ver si puedes hacer un join de la vista que tu utilizas la v$session y la v$process, el campo spid en la v$process te da el pid del S.O. tienes que buscar las que estén en estado 'KILLED'
si te creas la select y (parametrizandolo) haces un spool a un fichero y lo ejecutas las matará y tu trabajo te habrá llevado 3 minutos