从V$session查找某个用户的会话信息,比如sid和siral#,执行:alter system kill 'sid,serial#',
这个将是v$session的字段status值更新为killed,这个时候客户端连接oracle,会被提示重新连接,仅此而已!但是为这个会话的服务器进程仍然存在,继续占用着process数,
要删掉这个process,需要从操作系统层面来删除它!
首先查出会话的sid,serial#,paddr(oracle名下与此会话关联的进程标识):
select sid,serial#,paddr from v$session; #可以限定某个用户发起的会话,某些类型、状态的会话
查出这个会话关联的操作系统进程标识:
select spid from v$process where addr = paddr;(来自上一个查询的结果)
K掉会话:alter system kill 'sid,serial#';
k掉此会话关联的操作系统进程:
查找相应的OS进程:ps -ef |grep spid
K掉OS进程:kill -9 xxx