create or replace procedure kill_lock_all is
sqlstat varchar2(500);
begin
for cur in (select a2.MACHINE,
a3.os_user_name,
a2.PROGRAM,
a2.SCHEMANAME,
a1.START_TIME,
a4.object_name,
a2.sid,a2.SERIAL#
from v$transaction a1, v$session a2, v$locked_object a3, USER_objects a4
where a1.ADDR = a2.TADDR
and a3.SESSION_ID = a2.SID
and a3.OBJECT_ID = a4.object_id
and a2.TYPE = 'USER') loop
begin
sqlstat :='alter system kill session '||''''||cur.sid||','||cur.serial#||'''';
execute immediate sqlstat;
/* exception
when others then
null;*/
end;
end loop ;
end ;
授予用户v_$的权限。
授予用户alter system的权限。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22034023/viewspace-673052/ ,如需转载,请注明出处,否则将追究法律责任。