如何断开所有连接oracle的用户--解决ORA-01940:无法删除当前连接的用户

前言

先赞后看,此生必赚!

有时候,我们想删除某个oracle用户

当执行 drop user jeecg_test cascade; 的时候,出现:ORA-01940:无法删除当前连接的用户

有人正在连接,这样就不爽了!

解决方式:查出有哪些人在连接oracle数据库,然后杀掉连接程序

step1:查询出所有用户占用的程序:

select username,sid,serial# from v$session where username = 'JEECG_TEST';

得到以下结果:

如何断开所有连接oracle的用户--解决ORA-01940:无法删除当前连接的用户_第1张图片

step2:杀掉连接程序

执行如下sql语句,其中单引号里面的就是SID、serial:

alter system kill session '6,12';  
alter system kill session '63,19';  
alter system kill session '67,2';  
alter system kill session '132,1';  
alter system kill session '192,9';  

扩展

上面的这些alter语句可以用 || 连接符生成,然后复制执行就可以啦!

SQL语句如下:

select 'alter system kill session '''||sid||','||serial#||''';' from v$session where username = 'JEECG_TEST';  

如何断开所有连接oracle的用户--解决ORA-01940:无法删除当前连接的用户_第2张图片

详见: SQL语句里使用||连接符

OK, GAME OVER !

更多内容,请关注公众号:程序员高手之路

在公众号回复:Oracle资源   即可免费获取Oracle视频教程!

你可能感兴趣的:(#,Oracle技术,数据库)