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: 无法删除当前连接的用户 查看 ...
随机推荐
- python3与mysql:创建表、插入数据54
import pymysql db = pymysql.connect(host=',db='jodb1',port=3307,charset='utf8') # #测试连接开发库成功 # db = ...
- nodejs加WebSocket,聊天工具
1.WebSocket必须要与服务器连接,所以这里采用node起服务,这里用到了ws,,也有人用nodejs-websocket 2.首先 npm install ws 3.新建一个server.js ...
- npm包上传下载的命令及例子
npm包上传下载的命令及例子. 新建hello.js 执行:npm init 执行:npm adduser ( username:XXX password:XXX email:XXX ) 上传:npm ...
- yii2增删改查及AR的理解
yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...
- Java基础语法(基本语句)
Java基础语法 标识符在程序中自定义的一些名称.由26个英文字母大小写,数字:0-9符号:_&组成定义合法标识符规则:1. 数字不可以开头2. 不可以使用关键字Java中 ...
- MySQL数据库----事务处理
事物处理 一. 什么是事务 一组sql语句批量执行,要么全部执行成功,要么全部执行失败 二.为什么出现这种技术 为什么要使用事务这个技术呢? 现在的很多软件都是多用户,多程序,多线程的,对同一 ...
- iOS原生的AVFoundation扫描二维码/条形码
#import <AVFoundation/AVFoundation.h> @interface ViewController ()<AVCaptureMetadataOutputO ...
- 2018“金三”之一线互联网公司Java高级面试题总结
JVM 1.请介绍一下JVM内存模型??用过什么垃圾回收器都说说呗 2.线上发送频繁full gc如何处理? CPU 使用率过高怎么办? 如何定位问题?如何解决说一下解决思路和处理方法 3.知道字节码 ...
- 计算概论(A)/基础编程练习1(8题)/3:晶晶赴约会
#include<stdio.h> int main() { int w; scanf("%d", &w); || w==) { printf("%s ...
- 学写网页 #05# CSS Mastery 笔记 1~3
看到第四章才发现这本书已经太旧了..看到第 3 章为止吧.前三章主要讲的内容:一些编码常识.怎样选择元素.盒子模型(主要是 Margin).定位(绝对.相对.浮动.fixed 等) 第一章 conve ...