Matando Sessões…

Como matar um usuário safado que está derrubando seu servidor oracle?

Existem 2 maneiras: Via Oracle e via S.O.

Mostrarei como matar um usuário via Oracle.

Para matar uma sessão no Oracle precisamos de dois dados importantes ( SID e SERIAL# ), ambos podem ser obtidos da VIEW V$SESSION.

Para pegarmos estes dados podemos executar o seguinte comando.

SELECT
    S.SID,
    S.SERIAL#,
    S.USERNAME,
    S.MACHINE
  FROM  V$SESSION S

E agora para matar a sessão, usamos:

ALTER SYSTEM KILL SESSION 'SID_DESEJADO,SERIAL#_DESEJADO' IMMEDIATE;

Agora uma utilidade interessante, se voce sabe o ID do processo que está causando lentidão no seu sistema ( aquele que vc ve no LINUX via PS ou no windows pelo TASK MANAGER ) voce pode matar a sessão de acordo com o processo no sistema operacional. Para isso execute os seguintes comandos:

SELECT
    P.SPID,
    S.SID,
    S.SERIAL#,
    S.USERNAME,
    S.MACHINE
  FROM  V$SESSION S,
        V$PROCESS P ;
 WHERE  P.ADDR = s.PADDR
   AND P.SPID = O_PID_QUE_VC_QUER_MATAR

Pegue agora o SID e o SERIAL# do pid que vc quer matar e execute o comando de kill session:

ALTER SYSTEM KILL SESSION 'SID_DESEJADO,SERIAL#_DESEJADO' IMMEDIATE;

Pronto 🙂

Deixe uma resposta