Início > Oracle > Utilitário Orakill

Utilitário Orakill

Bom hoje eu vou falar sobre o utilitário OraKill é um utilitario disponibilizado em plataforma windows para poder estar fazendo o kill das sessões diretamente na linha de comando do DOS sem precisar de conexão direta no banco, devido ao ambiente windows é baseado em threads e os procesos de usuario e background ficam todos dentro do executavel oracle.exe, segue sintax abaixo:

C:\oracle\bin>orakill
Usage:  orakill sid thread
where sid    = the Oracle instance to target
thread = the thread id of the thread to kill
The thread id should be retrieved from the spid column of a query such as:
select spid, osuser, s.program from v$process p, v$session s where p.addr=s.paddr

Conforme mencionado acima, vamos executar a query informada para pegar o SPID

select spid, osuser, s.program from v$process p, v$session s where p.addr=s.paddr;

USERNAME                       OSUSER                         SPID

—————————— —————————— —–
HR                             veduardo                        3116
HR                             Scott                           4760
HR                             veduardo                        768

3 rows selected
C:\oracle9i\bin>orakill ORCL 3116

Mata a thread com o id 3116 na instancia ORCL com sucesso.

SQL> select a.username, a.osuser, b.spid
  2  from v$session a, v$process b
  3  where a.paddr = b.addr;

USERNAME                       OSUSER                         SPID

—————————— —————————— —–
HR                             Scott                          4760
HR                             veduardo                       768

2 rows selected.

Bom agora qual a vantagem de se utilizar o Orakill inves de entrar no banco de dados e fazer o alter system kill session, existem algumas razões para que um DBA usar orakill em vez de matar diretamente no banco de dados, segue algumas delas em inglês tiradas do proprio site da Oracle:

1.   The alter system statement will not clear any locks that exist.  Instead, the session will remain connected until it times out, then the session is killed and the locks are released.  The orakill command will kill the thread and the locks instantly.

2.   A DBA may be unable to gain access to a SQL prompt due to a runaway query consuming all database resources.  In this case, the session can be killed without ever logging in to the database.

Estas são boas razões para matar threads diretamente no prompt do DOS

Abraço!

Categorias:Oracle
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: