Matar uma sessão (kill session)

kill session oracle 2 150x150 Matar uma sessão (kill session)Quando temos que desconectar sessão sem ser a sua do banco, podemos usar o termo destruir um processo servidor dedicado ( ou circuito virtual se for uma conexão feito a partir de um Servidor Compartilhado – Shared Server), isso tudo pelo banco efetuando todos os controle internos do database para que a sessão seja encerrada com exito.

Para isso, a sua instancia deve estar aberta, em mode OPEN.

Primeiramente deve-se identificar a sessão que desejas eliminar obtendo alguns valores da view V$SESSION:

  1. Valor inteiro 1, especificado com o valor da coluna SID;
  2. Valor inteiro 2, especificado com o valor da coluna SERIAL#;
  3. Valor inteiro 3 opcional, em caso de 11g em RAC determinar onde o alvo (instance)  que está a sessão a ser eliminada. ID da instancia obtida na view GV$SESSION;

Sintaxe

SQL> ALTER SYSTEM KILL SESSION 'integer1, integer2[, @integer3]' [IMMEDIATE];

O procedimento irá marcar a sessão como terminada, transação em  rollback , e liberar outras sessões que estiverem em lock nos casos mais típicos.

Em caso de lock pode ser encontrado a sessão bloqueadora em Script sessões Bloqueadas/Bloqueadoras no sqlplus OEM.

O valor do ID da instancia marcado como integer3 na sintaxe acima deve conter o @ ali mencionado.

O IMMEDIATE especifica para o Oracle Database efetuar o final da transação com rollback, liberando todas as sessões em lock, e retornando o controle para você imediatamente.

Obs.: Para que o seu usuário possa efetuar o procedimento deve conter o privilégio de ALTER SYSTEM

PSC. Versões anteriores ao 11g, o terceiro valor que é o ID da instancia não era informado, desta forma para eliminar uma sessão da instancia, deverias estar conectado na mesma instancia que iria ser efetuado o kill da sessão desejada.

 

Fonte: ALTER SYSTEM

%name Matar uma sessão (kill session)

Autor: Rafael Stoever

Bacharel em Sistema de Informação pela Uniasselvi, atualmente cursando Gerenciamento de Projetos em TI pela Pós Graduação Uniasselvi. Atuo como Analista de suporte a banco de dados – DBA pela Lumina Serviços em TI residente de Blumenau/ SC, OPN Certified Specialist, Certificado OCP 10g/11g/12c, OCE RAC10g e Linux 10g. Conhecimentos em Microsoft SqlSever, Mysql e programação web (php,asp).