无法删除当前已连接的用户

来源:互联网 发布:淘宝开店的多少钱 编辑:程序博客网 时间:2024/05/03 12:04
 

有时候为了某些测试,需要导库,在开发库、测试库、正式库之间导来导去,特别是在项目前期比较频繁,简单点做需要在导入前,将已有的库角色删除,错误这个经常会碰到:

无法删除当前连接的用户。

解决方案1:项目组人比较少,站起身,喊一声,同志们把那个XX库暂时断掉,别连了。

一定程度上解决了问题,呵呵。

有时他们都说断了,还是无法删除用户。

解决方案2:再站,喊一声,把那个weblogic都关掉。

一定程度上还真是解决了问题,呵呵。

但是有时候不知怎么回事,还是删不掉,于是终极解决方案出炉。

解决方案3:先查一下

select username,sid,serial# from v$session;

alter system kill session '552,567';

挨个kill,就OK了。

之后感觉到这种挨个踢的方式有点不爽,特别是需要踢的人多的时候,所以用第四代语言-Pl/Sql,写了个方便的。

比如说杀掉cyrole用户的所有连接:

declarebegin for temp in (  select username,sid,serial# from v$session s  where s.USERNAME='CYROLE' ) loop      dbms_output.put_line('alter system kill session '''||to_char(temp.sid)||','||to_char(temp.serial#)||''';');    end loop;end;/


输出结果形式为:

alter system kill session '251,110';alter system kill session '416,1396';alter system kill session '485,623';alter system kill session '557,877';alter system kill session '572,223';


然后拿着输出结果执行以下就Ok了,呵呵。

原创粉丝点击