您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > Oracle

ORA-01940: cannot drop a user that is currently connected 的解决办法

时间:09-11来源:作者:点击数:

关于 : ORA-01940: cannot drop a user that is currently connected(不能删除当前连接的用户的解决办法)  的解决办法

这个异常是我以前项目开发过程中使用Oracle时遇到的一个问题,近期被几个小师妹经常问道起,我就将这个问题分享出来了,要是下次再问我直接就把链接发过去,自己看了。

问题的复现,如下图:

由错误信息可知“ 不能删除当前连接的用户 ”,一般这个问题是由于回话被占用导致无法删除的,遇到这个问题很正常。

解决办法:

使用Oracle的系统用户登陆,如下图:

查询需要删除用户回话占用情况,输入 " SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME = 'ETC'; ",如下图:

如上图可知当前我们的ETC用户有13条回话在使用中。

注意:用户名一定要大写,在 V$SESSION 中不管你的用户名时大写还是小写,在这儿都要大写,好多人重复的问我,都是这儿用户名小写导致无法查询到,包括网上好多的解决办法都有这个问题,最后还是没有解决。

接下来就是各个击破了,挨个干掉占用用户的回话,输入 " ALTER SYSTEM KILL SESSION '13,772'; " ,如下图:

最后,占用的回话关闭完成后,就可删除指定用户了,输入 " drop user etc cascade; " ;

好了关于Oracle中 “ 不能删除当前连接的用户 ” 的问题就解决了,如果期间还遇到其他什么问题欢迎留言。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐