ORA-01940 无法删除当前连接的用户
---- bayaim ,个人原创
---- 2024年9月12日17:36:50
ORA-01940 无法删除当前连接的用户
----------------------------------------------------
1、现象:
删除用户
drop user ECOLOGY cascade;
报错: ora01940 无法删除当前连接的用户
2、解决办法:
-- 查看用户的sid和serial
select username,sid,serial#,program from v$session where username='ECOLOGY';
-- 如果用户已连接数的较少,可以手动删除
alter system kill session '385,29016';
-- 如果用户已连接数的较多,可以批量删除
select 'alter system kill session ''' || sid || ',' || serial# || ''';'
from
(
SELECT SE.sid, SE.serial#, SUBSTR(SE.machine, 1, 30) MACH
FROM v$session SE, v$sqlarea SQ, v$process PR
WHERE SE.paddr = PR.ADDR(+)
AND SE.sql_address = SQ.address(+)
AND SE.USERNAME like '%ECOLOGY%'
);
alter system kill session '10,503';
alter system kill session '1144,964';
alter system kill session '1151,17866';
alter system kill session '1153,32599';
……
-- 在服务器上,使用sysl链接数据库,再次删除用户
drop user ECOLOGY cascade;
测试结果:1、如果数据库的对象较多,删除会很久
2.不如 DBCA 删库
-- 查看用户session的状态
select saddr,sid,serial#,paddr,username,status from v$session
where username is not null and username='ECOLOGY';
【欢迎关注公众号】:database运维
分类:
BayaiM_oracle
标签:
oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署