在删除某个用户时,可能会因为某些用户正在连接但是又无法定位从哪里连接的
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'
查询结果:
结果中的spid就是操作系统进程号
然后登陆到oracle数据库所在的服务器,执行orakill db_name spid
然后登陆到oracle数据库所在的服务器,执行orakill db_name spid