ORA-01940 无法删除当前已连接的用户之解决方案


在执行drop user的时候,提示报错信息:ORA-01940: cannot drop a user that is currently connected

SQL> drop user ecity ;
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected

造成这个问题的原因是很明显的,有用户在连接,不允许drop掉该user。

解决方案:

首先查询一下数据中有没有用户在使用

select username,sid,serial#,paddr from v$session where username='ECITY';
USERNAME SID SERIAL# PADDR
------------------------------ ---------- ------------------------------------------------- ECITY 634 7 00000000C028D198
SQL
> select PROGRAM from v$process where addr='00000000C028D198';
PROGRAM
---------------------------------------------------------------------------------------------------------- Oracle@oradb01 (DW00)

其次杀掉系统中的这个进程

SQL> alter system kill session '634,7';
System altered.

然后执行删除操作,即可完成

SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
SQL> drop user ecity CASCADE;
User dropped.

问题解决,记得KILL进程前,先看看是啥进程,哪台机连过来的,能否KILL等等。避免杀掉其他进程


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM