Cita: La secuencia lógica sería KILL SESSION + KILL -9......
Estoy de acuerdo, identificar la sesión y terminarla dentro de la base de datos es lo primero. En el 99% de los casos, el kill session finaliza correctamente el proceso export / import en el sistema operativo, y para el 1% restante, donde quedan huérfanos, se usa el kill -9.
La información necesaria para terminar una sesión se obtiene con la consulta:
Código:
select s.sid, s.serial#, s.username,
s.osuser, p.spid, s.program
from v$session s ,v$process p
where s.paddr = p.addr
Si filtras por s.username='usuario_del_export', s.program='exp' y s.osuser='usuario_del_cron' tendrás el valor de s.sid y s.serial# para ejecutar el comando:
Código:
alter system kill session 'valor_de_sid,valor_de_serial#';
En este punto, es seguro que el export se detiene, pero en caso de quedar el proceso huérfano, debes hacer un kill tomando el valor de p.spid
Nota al margen, todo esto es válido para el export / import tradicional, en el export / import con datapump (nuevo en 10g) se debe detener el proceso con el procedimiento DBMS_DATAPUMP.STOP_JOB().
Saludos