Oracle – PL/SQL – Encontrando tabelas trancadas/bloqueadas e liberando para insert/delete/update

Fala galera!

Hoje coloco um código simples onde pode salvar muitos usuários que precisam liberar encontrar se existem alguma tabela bloqueada e liberar ela.

Isso pode acontecer por exemplo quando um programador está testando o código e ele não termina o processo de uma transaction ou situação parecida, causando uma impossibilidade de dar updates, deletes e se não me engano até inserts!

Para resolver isso, um DBA pode localizar as “sessões” bloqueadas com esse script:

run following from sysdba:
select owner||'.'||object_name obj
,oracle_username||' ('||s.status||')' oruser
,os_user_name osuser
,machine computer
,l.process unix
,''''||s.sid||','||s.serial#||'''' ss
,r.name rs
,to_char(s.logon_time,'yyyy/mm/dd hh24:mi:ss') time
from v$locked_object l
,dba_objects o
,v$session s
,v$transaction t
,v$rollname r
where l.object_id = o.object_id
and s.sid=l.session_id
and s.taddr=t.addr
and t.xidusn=r.usn
order by osuser, ss, obj

Irá retornar várias informações.

[DBA] Para matar a sessão basta pegar o valor que estava na coluna ss e colocar nesse script alter system kill session ‘101,1120, exemplo:

alter system kill session '101,1120';

Pronto!
Não sou nenhum especialista!

Eu encontrei esse código quando precisei realizar essa operação em um banco de teste.
A fonte original do script é essa: query to find locked tables in oracle

Abraços!

4.00 avg. rating (86% score) - 1 vote

Autor: Reynaldo

Desenvolvedor a mais de três anos de diversas plataformas como .Net/Java e Android. Muito autodidata e empenhado, gosta de descobrir coisas novas e conhecer as novas ferramentas do mercado. Vive pensando sobre a vida e tendo ideias de como melhorar o dia a dia das pessoas. Um grande e meloso apaixonado por sua namorada que ama do fundo do coração =) (Pikena Te Amo !!! =D)

Loading Disqus Comments ...
Loading Facebook Comments ...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

* Copy This Password *

* Type Or Paste Password Here *