杀特定用户会话的PL/SQL,待完善

--过程一定义
create or replace procedure kill_session( p_sid     in number,
                                            p_serial# in number)
is
      
BEGIN

          execute immediate '
              alter system kill session ''' ||
              to_char(p_sid,'999999')||','||
              to_char(p_serial#,'999999')||'''';

END;
/

--过程二定义
create or replace procedure kill_session( p_sid     in number,
                                            p_serial# in number)
is
      
BEGIN

          execute immediate '
              alter system kill session ''' ||
              to_char(p_sid,'999999')||','||
              to_char(p_serial#,'999999')||''''||' immediate';

END;
/

--杀死特定用户的会话
declare

cursor finduser( p_username v$session.username%type)
is
select sid,serial#
from v$session
where username=p_username;
r_cursor finduser%rowtype;

begin
open  finduser('SCOTT');

loop
fetch finduser into r_cursor;
kill_session(r_cursor.sid,r_cursor.serial#);
--dbms_output.put_line(r_cursor.sid);
--dbms_output.put_line(r_cursor.serial#);
exit when finduser%notfound;
end loop;
end;
/








标签: 暂无标签
dongxujian

写了 86 篇文章,拥有财富 384,被 13 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

成为第一个吐槽的人

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈