Sessões bloqueadoras e bloqueadas no Oracle

[ad#texto]

Muitas vezes precisamos descobrir qual é a sessão bloqueadora e também qual é a sessão bloqueada no Oracle, isso é bem simples, veja o exemplo abaixo:

SELECT 'SID ' || l1.sid ||' está bloqueando ' || l2.sid blocking
FROM v$lock l1, v$lock l2
WHERE l1.block =1 AND l2.request > 0
  AND l1.id1=l2.id1
  AND l1.id2=l2.id2;

Ainda é possível extrair mais informações acerca de bloqueios e as sessões no Oracle com a query abaixo:

SELECT substr(to_char(c.LOCKWAIT),1,8) lockwait
,substr(to_char(b.session_id)||','||to_char(c.serial#),1,12) sid_serial#
  ,c.status
  ,rpad(c.osuser,8) unix
  ,rpad(c.username,8) ora
  ,to_char(c.logon_time,'dd/mm hh24:mi:ss') logon_time
  ,a.object_name Tabela
  ,decode(b.locked_mode,1,'No Lock',
    2,'Row Share',
    3,'Row Exclusive',
    4,'Share',
    5,'Share Row Excl',
    6,'Exclusive',NULL) Status_Lock
  ,rpad(c.module,15) Prog
  ,c.terminal terminal
  ,rpad(c.action,20) acao
FROM all_objects a
  ,v$locked_object b
  ,v$session c
WHERE b.object_id = a.object_id
  AND b.session_id = c.sid
ORDER BY 6, 7 DESC
Petter Rafael
Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 322 outros assinantes

Busca

setembro 2020
DSTQQSS
 12345
6789101112
13141516171819
20212223242526
27282930 

Categorias