Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1450081
  • 博文数量: 239
  • 博客积分: 5909
  • 博客等级: 大校
  • 技术积分: 2715
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-24 20:19
文章分类

全部博文(239)

文章存档

2014年(4)

2013年(22)

2012年(140)

2011年(14)

2010年(59)

我的朋友

分类: Oracle

2013-08-20 10:14:11

如何让别人,非DBA也可以kill session

点击(此处)折叠或打开

  1. create or replace procedure kill_session( p_sid in number, p_serial# in number )
  2. as
  3. begin
  4.     for x in ( select *
  5.                  from v$session
  6.                 where username = USER
  7.                   and sid = p_sid
  8.                   and serial# = p_serial# )
  9.     loop
  10.         execute immediate 'alter system kill session ''' ||
  11.                  p_sid || ',' || p_serial# || '''';
  12.         dbms_output.put_line( 'Alter session done' );
  13.     end loop;
  14. end;
然后grant execute on procudure whomever. Now, anyone can kill a session owned by the same username as they are logged in as (eg: their sessions) .

还可以kill 指定 instance上面的session

点击(此处)折叠或打开

  1. sys%ORA11GR1> select inst_id, sid, serial#, username from gv$session where username is not null;

  2.    INST_ID SID SERIAL# USERNAME
  3. ---------- ---------- ---------- --------------------
  4.          1 126 3565 OPS$TKYTE
  5.          1 144 6999 SYS

  6. 2 rows selected.

  7. sys%ORA11GR1> alter system kill session '126,3565,@1';

  8. System altered.
阅读(736) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~