[转帖]oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2028 | 回复: 1   主题: [转帖]oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”        上一篇   下一篇 
Mr_Fan
注册用户
等级:新兵
经验:78
发帖:1
精华:0
注册:2016-10-2
状态:离线
发送短消息息给Mr_Fan 加好友    发送短消息息给Mr_Fan 发消息
发表于: IP:您无权察看 2019-9-18 14:35:06 | [全部帖] [楼主帖] 楼主

Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1、先锁定用户、然后查询进程号,最后删除对应的进程、在删除对应的用户 SQLalter user XXX account lock; SQLSELECT * FROM V$SESSION WHERE USERNAME='LGDB';

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




赞(0)    操作        顶端 
联动大白
注册用户
等级:列兵
经验:91
发帖:0
精华:0
注册:2015-5-27
状态:离线
发送短消息息给联动大白 加好友    发送短消息息给联动大白 发消息
发表于: IP:您无权察看 2019-11-12 0:30:00 | [全部帖] [楼主帖] 2  楼

为了方便大家阅读,我对文章中错误号来解释一下吧!

Error Id: ORA-01940

Title: cannot drop a user that is currently connected

Description:

cannot drop a user that is currently connected

Action:

Make sure user is logged off, then repeat command.

Cause:

Attempt was made to drop a user that is currently logged in.


也许你已明白,但对一个人有用也是我存在的理由!^_^ By:持之以恒的大白

-- 来自: 北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论