Oracle ORA-01940: 无法删除当前连接的用户

当我们要删除一个oracle的用户时,如果有其他人连接到数据库则会报以下错误:

ORA-01940: 无法删除当前连接的用户

处理办法就是:将连接到当前用户的session给kill掉。


 处理步骤如下:

1、可用sys用户登录,查询有哪些连接信息

select username,sid,serial# from v$session

执行结果:

2、用命令杀掉一个连接。如果我要杀掉上图中被选中的连接,可以这样写:

alter system kill session '821,33'

3、如果要一次kill掉多个连接信息,可以写一个查询语句:把满足条件的连接,拼凑成批处理命令然后执行。

SELECT 'alter system kill session '''||sid||','||serial#||''';' FROM v$session WHERE USERNAME='你的用户名'

执行结果如下:

将执行结果内容复制出来,再进行执行就可以做到批量删除连接信息了。

原文地址:https://www.cnblogs.com/senyier/p/7681144.html