千家信息网

oracle中出现ORA-01940:无法删除当前已连接的用户怎么办

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"oracle中出现ORA-01940:无法删除当前已连接的用户怎么办",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"oracle中
千家信息网最后更新 2026年11月01日oracle中出现ORA-01940:无法删除当前已连接的用户怎么办

这篇文章主要为大家展示了"oracle中出现ORA-01940:无法删除当前已连接的用户怎么办",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"oracle中出现ORA-01940:无法删除当前已连接的用户怎么办"这篇文章吧。

在现场作业时,需要先删除用户;在执行drop user时提示"ORA-01940: cannot drop a user that is currently connected",当时的环境如下:
操作系统:Windows XP
数据库:Oracle 10.2.0.1
当时时间比较着急,直接采取了釜底抽薪的办法--拔网线,这招很管用,再次执行drop user就成功了。考虑到以后不一定所有场合都允许你采取这种简单粗暴的办法,就在虚拟机上重现了这个报错,寻求一种较为温和的解决办法。
首先我打开两个虚拟机,在1号虚拟机上启动了两个实例,打开了3个连接到scott用户的窗口;在2号虚拟机上启动了一个实例,打开了一个连接到scott用户的窗口。这时我登录sys用户执行drop user操作,复现了上述报错。

点击(此处)折叠或打开

  1. [oracle@enmoedu1 ~]$ sqlplus / as sysdba


  2. SQL*Plus: Release 11.2..3.0 Production on Fri Apr 17 21:25:40 2015


  3. Copyright (c) 1982, 2011, Oracle. All rights reserved.



  4. Connected to:

  5. Oracle Database 11g Enterprise Edition Release 11.2..3.0 - Production

  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options


  7. SQL> drop user scott cascade;

  8. drop user scott cascade

  9. *

  10. ERROR at line 1:

  11. ORA-01940: cannot drop a user that is currently connected



  12. SQL>

首先,我们查看scott用户的连接状况;

点击(此处)折叠或打开

  1. SQL> select username,sid,serial# from v$session where username='SCOTT';


  2. USERNAME SID SERIAL#

  3. ------------------------------ ---------- ----------

  4. SCOTT 19 355

  5. SCOTT 20 13693

  6. SCOTT 26 15

  7. SCOTT 127 7


  8. SQL>

接下来,我们kill上述连接;

点击(此处)折叠或打开

  1. SQL> alter system kill session'19,355';


  2. System altered.


  3. SQL> alter system kill session'20,13693';


  4. System altered.


  5. SQL> alter system kill session'26,15';


  6. System altered.


  7. SQL> alter system kill session'127,7';


  8. System altered.


  9. SQL>

再次查询scott用户的连接状况,确认所有连接被清除完毕;

点击(此处)折叠或打开

  1. SQL>

  2. SQL> select username,sid,serial# from v$session where username='SCOTT';


  3. USERNAME SID SERIAL#

  4. ------------------------------ ---------- ----------

  5. SCOTT 19 355

  6. SCOTT 20 13693

  7. SCOTT 26 15

  8. SCOTT 127 7


  9. SQL>

看到这儿,不要惊慌,不要以为这些连接还在;我们只要查询一下上述连接的状态就明白了。

点击(此处)折叠或打开

  1. SQL>

  2. SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;


  3. SADDR SID SERIAL# PADDR USERNAME STATUS

  4. -------- ---------- ---------- -------- ------------------------------ --------

  5. 578CC410 19 355 583AD258 SCOTT KILLED

  6. 578C9890 20 13693 583AD258 SCOTT KILLED

  7. 578B9390 26 15 583AD258 SCOTT KILLED

  8. 579DED90 120 95 5836FFB4 SYS ACTIVE

  9. 579CBD10 127 7 583AD258 SCOTT KILLED


  10. SQL>

由上述查询结果得知,scott用户的所有连接已经被kill了;现在我们执行drop user,看一下是否能够成功;

点击(此处)折叠或打开

  1. SQL>

  2. SQL> drop user scott cascade;


  3. User dropped.


  4. SQL>

由此,ORA-01940报错得到顺利解决。

以上是"oracle中出现ORA-01940:无法删除当前已连接的用户怎么办"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

用户 怎么办 内容 办法 篇文章 查询 成功 两个 再次 实例 状况 学习 帮助 温和 着急 惊慌 粗暴 釜底抽薪 接下来 操作系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海卓越科技互联网 疫情对互联网科技公司影响 奇酷互联网科技公司 浩特互联网科技 碳银互联网科技有限公司 广州紫鲸互联网科技 互联网科技公司名称 农村开互联网科技讲堂 互联网教育科技公司vipkid 移动互联网科技股 畅思互联网科技 华夏恒生互联网科技013171 互联网时代的科技公司 富国互联网金融科技混合基金 上海同邻互联网科技有限公司规模 西安有哪些互联网高科技企业 吉林省码上互联网科技电话 优雇互联网科技有限公司 互联网高科技绘画 如何强化互联网金融科技 广东万易互联网科技有限公司惠州分公司 河南云网互联网络科技有限公司 科技股互联网 河南真二互联网科技有限公司 金融科技 互联网金融 亿人帮互联网科技 互联网科技素材视频竖屏 新氧科技和美国互联网有关系吗 10位科技互联网大佬 平安好医生打造互联网科技医疗
0