ORA-01940:无法删除当前已链接的用户

删除某个用户时报ORA-01940,是由于该用户还有session连接,因此先用sysdba用户kill该用户session,再删除该用户即可。示例如下:

SQL> drop user PDS cascade;
drop user PDS cascade //PDS为数据库用户名
*
ERROR 位于第 1 行:
ORA-01940: 无法删除当前已连接的用户

SQL> select username,sid,serial# from v$session;

USERNAME SID SERIAL#
------------------------------ ---------- ----------
SYS 10141 53
ADRIANO 10234,24

已选择2行。

SQL> alter system kill session'10234,24';

系统已更改。

SQL> drop user ADRIANO cascade;

用户已丢弃

如果在drop 后还提示ORA-01940:无法删除当前已链接的用户,说明还有连接的session,可以通过查看session的状态来确定该session是否被kill 了,用如下语句查看:

sql>select saddr,sid,serial#,paddr,username,status from v$session where username is not null
status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。

你可能感兴趣的:(ORA-01940:无法删除当前已链接的用户)