Matar sessão Oracle possuindo apenas o PID do unix

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Stfish
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 05 Abr 2006 10:59 am
Localização: RJ

Tendo apenas o process id do unix, como posso identificar na v$session ou v$process o session id e o serial , para poder matar a sessão ?
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

Acho que aqui http://download-west.oracle.com/docs/cd ... #sthref628
é um bom lugar para começar.

Gilberto
Stfish
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 05 Abr 2006 10:59 am
Localização: RJ

Gilbertoca,

Grato mas, o link em questão apenas me mostra como matar uma sessão identficada .
Eu estou tentando identificar a sessão a partir do processo ( PID ) do sistema operacional ( unix )
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Tenta o seguinte:

OS_PROCESS_ID é o PID do unix:

Selecionar tudo

Select SID,SERIAL# 
from v$session where paddr in (select addr from v$process where spid='OS_PROCESS_ID');
Com esses valores, você consegue matar

Selecionar tudo

alter system kill session '<SID>,<SERIAL#>';
Agora, pode matar no SO usando

Selecionar tudo

kill -9 <pid>
Mas você não deve matar o processo no SO sem antes matar no Oracle.

:-o
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

Boa Thomas! Nesta você foi mais rápido que eu! :lol:
Stfish
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 05 Abr 2006 10:59 am
Localização: RJ

Era exatamente o que eu estava querendo .

Grato !!
lobo
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 09 Mai 2006 2:04 pm
Localização: Suzano
Valeu!!!!

vejam essa query para verificar o sid e o serial:

Selecionar tudo

select d.sid,d.serial#,b.spid,d.status,decode(a.block,1,'SIM',0,'não') BLOCK,
c.object_name,d.osuser,d.schemaname,d.program
from v$lock a,dba_objects c, v$session d, v$process b
where a.sid=d.sid and
d.paddr=b.addr
and a.id1=c.object_id(+) 
and d.osuser is not null
and d.schemaname <> 'SYS'
order by 1,6
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes