没法删除用户的解决办法

Oracle删除用户的提示没法删除当前已链接用户两种解决方法以下:数据库

一、先锁定用户、而后查询进程号,最后删除对应的进程、在删除对应的用户安全

SQL>alter user XXX account lock;session

SQL>SELECT * FROM V$SESSION WHERE USERNAME='LGDB';进程

SQL>alter system kill session 'xx,xx'io

SQL>drop user xx cascadeclass

2.shutdown掉数据库,再重启select

具体查询进程号,最后删除对应的进程步骤以下方法

1) 查看用户的链接情况数据

select username,sid,serial# from v$session查询

以下结果:

username sid serial#

NETBNEW 513 22974

NETBNEW 514 18183

NETBNEW 516 21573

NETBNEW 531 9

ts 532 4562

(2)找到要删除用户的sid,和serial,并删除

如:你要删除用户'ts',能够这样作:

alter system kill session'532,4562'

(3)删除用户

drop user ts cascade

(**)若是在drop 后还提示ORA-01940:没法删除当前已连接的用户,说明还有链接的session,能够经过查看session的状态来肯定该session是否被kill 了,用以下语句查看:

select saddr,sid,serial#,paddr,username,status from v$session where username is not null

结果以下(以个人库为例):

saddr sid serial# paddr username status

564A1E28 513 22974 569638F4 NETBNEW ACTIVE

564A30DC 514 18183 569688CC NETBNEW INACTIVE

564A5644 516 21573 56963340 NETBNEW INACTIVE

564B6ED0 531 9 56962D8C NETBNEW INACTIVE

564B8184 532 4562 56A1075C WUZHQ KILLED

status 为要删除用户的session状态,若是还为inactive,说明没有被kill掉,若是状态为killed,说明已kill。

因而可知,ts这个用户的session已经被杀死。此时能够安全删除用户。

相关文章
相关标签/搜索