删除某个用户时报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。
文章出处:http://lintao101.spaces.live.com/default.aspx?_c02_owner=1
http://www.eygle.com/faq/Kill_Session.htm
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9294812/viewspace-1005030/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9294812/viewspace-1005030/