oracle中kill某个用户的连接kill不掉
在删除某个用户时,可能会因为某些用户正在连接但是又无法定位从哪里连接的1、查询一下当前有哪些用户在连接,并且查询是从哪个操作系统连接的
select username,osuser,sid,serial# from v$session
2、kill掉相应的连接
alter system kill session ‘sid,serial#’
在执行kill的操作时,可能会报错,错误代码为ora-00031,这是因为相应连接的资源未释放,再通过步骤1中的语句进行查询,相应的连接还是存在的
这种情况下就需要从操作系统继续kill
3、查询一下操作系统进程号
select a.spid,b.sid,b.serial#,b.username
from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED'
查询结果:
http://blog.itpub.net/attachments/2013/08/28803801_201308161428151.jpg
结果中的spid就是操作系统进程号
然后登陆到oracle数据库所在的服务器,执行orakill db_name spid
然后登陆到oracle数据库所在的服务器,执行orakill db_name spid
http://blog.itpub.net/attachments/2013/08/28803801_201308161430431.jpg
http://blog.itpub.net/image/default/fj.png查询结果.jpg
http://blog.itpub.net/image/default/fj.pngos kill.jpg
页:
[1]