ORA-01940:无法删除当前已连接的用户
当时时间比较着急,直接采取了釜底抽薪的办法——拔网线,这招很管用,再次执行drop user就成功了。考虑到以后不一定所有场合都允许你采取这种简单粗暴的办法,就在虚拟机上重现了这个报错,寻求一种较为温和的解决办法。
首先我打开两个虚拟机,在1号虚拟机上启动了两个实例,打开了3个连接到scott用户的窗口;在2号虚拟机上启动了一个实例,打开了一个连接到scott用户的窗口。这时我登录sys用户执行drop user操作,复现了上述报错。
点击(此处)折叠或打开
- [oracle@enmoedu1 ~]$ sqlplus / as sysdba
- SQL*Plus: Release 11.2.0.3.0 Production on Fri Apr 17 21:25:40 2015
- Copyright (c) 1982, 2011, Oracle. All rights reserved.
- Connected to:
- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- SQL> drop user scott cascade;
- drop user scott cascade
- *
- ERROR at line 1:
- ORA-01940: cannot drop a user that is currently connected
- SQL>
首先,我们查看scott用户的连接状况;
点击(此处)折叠或打开
- SQL> select username,sid,serial# from v$session where username='SCOTT';
- USERNAME SID SERIAL#
- ------------------------------ ---------- ----------
- SCOTT 19 355
- SCOTT 20 13693
- SCOTT 26 15
- SCOTT 127 7
- SQL>
接下来,我们kill上述连接;
点击(此处)折叠或打开
- SQL> alter system kill session'19,355';
- System altered.
- SQL> alter system kill session'20,13693';
- System altered.
- SQL> alter system kill session'26,15';
- System altered.
- SQL> alter system kill session'127,7';
- System altered.
- SQL>
再次查询scott用户的连接状况,确认所有连接被清除完毕;
点击(此处)折叠或打开
- SQL>
- SQL> select username,sid,serial# from v$session where username='SCOTT';
- USERNAME SID SERIAL#
- ------------------------------ ---------- ----------
- SCOTT 19 355
- SCOTT 20 13693
- SCOTT 26 15
- SCOTT 127 7
- SQL>
看到这儿,不要惊慌,不要以为这些连接还在;我们只要查询一下上述连接的状态就明白了。
点击(此处)折叠或打开
- SQL>
- SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
- SADDR SID SERIAL# PADDR USERNAME STATUS
- -------- ---------- ---------- -------- ------------------------------ --------
- 578CC410 19 355 583AD258 SCOTT KILLED
- 578C9890 20 13693 583AD258 SCOTT KILLED
- 578B9390 26 15 583AD258 SCOTT KILLED
- 579DED90 120 95 5836FFB4 SYS ACTIVE
- 579CBD10 127 7 583AD258 SCOTT KILLED
- SQL>
由上述查询结果得知,scott用户的所有连接已经被kill了;现在我们执行drop user,看一下是否能够成功;
点击(此处)折叠或打开
- SQL>
- SQL> drop user scott cascade;
- User dropped.
- SQL>
由此,ORA-01940报错得到顺利解决。大家如果以后碰到这个问题,可以按照实际环境来决定是采取“简单粗暴”的解决办法(拔网线),还是上述这种“温和”的解决办法。
ORA-01940:无法删除当前已连接的用户的更多相关文章
- ORA-01940 无法删除当前已连接的用户之解决方案
在执行drop user的时候,提示报错信息:ORA-01940: cannot drop a user that is currently connected SQL> drop user l ...
- oracle 删除用户,提示“无法删除当前已连接的用户”
1. 首先查询出该用户的登录情况,注意用户名必须是大写 SQL> select username,sid,serial# from v$session where username = 'XST ...
- (转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQLalter user XXX account lock; ...
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...
- ORA-01940无法删除当前已连接用户
原文地址:ORA-01940无法删除当前已连接用户作者:1736188794 1)查看用户的连接状况 select username,sid,serial# from v$session ------ ...
- ORA-01940:无法删除当前已链接的用户(转)
(1)查看用户的连接状况 select username,sid,serial# from v$session ------------------------------------------ 如 ...
- ORA-01940:无法删除当前已链接的用户
(1)查看用户的连接状况 select user name, sid, serial# from v$session; (2)找到要删除用户的sid,和serial,并删除 例如要删除用户nc633t ...
- linux系统中中断已连接的用户
1.用w命令查看当前系统登录的用户 [root@rhel7 ~]# w :: up :, users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOG ...
- ORA-01940: 无法删除当前连接的用户
删除用户报错 SQL> drop user ODI_SRC CASCADE; drop user ODI_SRC CASCADE * 第 1 行出现错误: ORA: 无法删除当前连接的用户 查看 ...
随机推荐
- numpy 中clip函数的使用
其中a是一个数组,后面两个参数分别表示最小和最大值 也就是说clip这个函数将将数组中的元素限制在a_min, a_max之间,大于a_max的就使得它等于 a_max,小于a_min,的就使得它等于 ...
- HTML鼠标悬停改变样式
a.tt:hover {color: #FF0000;} <a class="tt" href="test.html">test</a> ...
- Summary: Difference between null and empty String
String s1 = ""; means that the empty String is assigned to s1. In this case, s1.length() i ...
- Django初级手册6-静态文件
用Django加载外部文件 在Django中iamges,JS或者CSS通称为static文件 定制APP的外观 一般放在应用目录下的static/polls/目录下,下为polls/static/p ...
- vb6.0的安装
vb6.0古老的编程软件
- Assets.xcassets 应用
1.应用 Assets.xcassets :用来存放图像资源文件 给项目添加 AppIcon 时图标要用 png 格式的,不要用其他格式.当是其它图片格式时 ,不要仅仅修改其后缀名,若仅仅修改后缀名, ...
- 关于安装VS2010过程中的错误
下午本来安装好了VS:但是后来由于自己更新太多功能:直接使得VS太卡打不开:卸载重装:但是卸载的时候在“开始”里面的帮助文档和一些目录在卸载项里面没有:而在“开始"菜单就有:所以我索性把整个 ...
- Python: 字典列表: 通过某个字段将记录分组
问题:有一个字典或者实例的序列,想根据某个特定的字段比如date 来分组迭代访问. answer: itertools.groupby函数对于这样的数据分组操作非常实用 eg: rows = [{'a ...
- za
http://www.szjs.gov.cn/bsfw/zdyw_1/zfbz/jgcx/
- Docker 的 Web 管理工具 DockerFly
Dockerfly是基于 Docker1.12+ (Docker API 1.24+) 开发出Docker 管理工具,提供里最基本的基于 Docker 的管理功能,目的是能够方便广大Docker初学者 ...