xxx为待删除的用户名
SQL> drop user xxx cascade;
删除数据库用户的时候经常会遇到这样的错误;
ORA-01940: cannot drop a user that is currently connected
原因是有程序在连接我们需要删除的用户,我们删除用户之前一定要先把连接断掉; 如下:
1、查找帐号下哪些连接在运行:
SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USERNAME';
注意:此处需要大写
SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='SSTEST';
2、删除用户进程;
SQL>ALTER SYSTEM KILL SESSION '1524,17707';
System altered.
3、重新查看用户连接,并确认无连接在使用
SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='SSCRM';
4、删除用户
drop user sstest cascade ;