(1)查看用户的连接状况
select username,sid,serial# from v$session;
(2)找到要删除用户的sid,和serial,并删除
alter system kill session '105,1398';
(3)删除用户
drop user username cascade;
(4)如果在drop 后还提示ORA-01940:无法删除当前已链接的用户,说明还有连接的session,可以通过查看session的状态来确定该session是否被 kill 了,如下语句查看:
select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
1 342F4024 95 26736 3424E9AC MOPE INACTIVE
2 342FC39C 102 14150 342542BC SYS NACTIVE
3 342FFBF4 105 1398 3425133C SBJC INACTIVE
status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉。
本文详细介绍了如何使用SQL语句在Oracle数据库中删除指定用户及其相关会话,包括查看用户连接状况、找到并删除指定sid和serial、删除用户以及排查未被kill的session状态。
847

被折叠的 条评论
为什么被折叠?



