Páginas

quinta-feira, 17 de outubro de 2013

[PL/SQL] - Procedimento para Matar sessões de um usuário no Oracle

A procedure PL/SQL abaixo permite matar todas as sessões de um usuário informando o nome ou parte do nome dele:

PROCEDURE killall
( p_who IN varchar2)
IS
cursor c_sessions
is
select sid, serial# serial
from v$session
where lower(username) like '%'||lower(p_who)||'%';
BEGIN
for rec_sessions in c_sessions loop
begin
execute immediate 'alter system disconnect session '''||rec_sessions.sid||','||rec_sessions.serial||''' immediate';
EXCEPTION when others then
dbms_output.put_line('Error executing :');
dbms_output.put_line('alter system disconnect session '''||rec_sessions.sid||','||rec_sessions.serial||''' immediate');
end;
end loop;
END;

 Fonte:
http://oraclemais.blogspot.com.br/2009/07/matar-sessoes-de-um-usuario.html

Nenhum comentário:

Postar um comentário