加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

无法删除用户的解决办法

发布时间:2020-12-12 13:35:09 所属栏目:百科 来源:网络整理
导读:Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1、先锁定用户、然后查询进程号,最后删除对应的进程、在删除对应的用户 SQLalter user XXX account lock; SQLSELECT * FROM V$SESSION WHERE USERNAME=‘LGDB‘; SQLalter system kill sess

Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下:

1、先锁定用户、然后查询进程号,最后删除对应的进程、在删除对应的用户

SQL>alter user XXX account lock;

SQL>SELECT * FROM V$SESSION WHERE USERNAME=‘LGDB‘;

SQL>alter system kill session ‘xx,xx‘

SQL>drop user xx cascade

2.shutdown掉数据库,再重启

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

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,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已经被杀死。此时可以安全删除用户。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读