oracle killed会话不释放


一般情况下,在杀一个会话的时候,直接执行alter system kill session ‘sid,serial#’;

Administrator's Guide说,当session是active的时候,alter system kill session 只是将session标识为killed

或者pseudo状态,并不会释放session持有的资源,所以我们在执行完alter system kill session 后,看会话还

是一直存在。

这种情况下可以使用 immediate选项,强制立即Kill会话,如下:
SQL> alter system kill session '3964,51752' immediate;

SQL Language Reference 里对Immediate的解释是:IMMEDIATE Specify IMMEDIATE to instruct Oracle

Database to roll back ongoing transactions, release all session locks, recover the entire session state,

and return control to you immediately.

另外我们也可以使用alter system disconnect session

The POST_TRANSACTION setting allows ongoing transactions to complete before the session is disconnected.

If the session has no ongoing transactions, then this clause has the same effect described for as KILL SESSION.

The IMMEDIATE setting disconnects the session and recovers the entire session state immediately, without

waiting for ongoing transactions to complete.

  • If you also specify POST_TRANSACTION and the session has ongoing transactions, then the IMMEDIATE keyword is ignored.

  • If you do not specify POST_TRANSACTION, or you specify POST_TRANSACTION but the session has no ongoing transactions,

  • then this clause has the same effect as described for KILL SESSION IMMEDIATE.


ORACLE建议的DCD解决方法

  1. 修改sqlnet.ora文件,新增expire_time=x(单位是分钟)
  2. 通过ALTER PROFILE DEFAULT LIMIT IDLE_TIME x; 命令修改,重启后生效。

通过OS杀进程终止会话

SELECT spid, osuser, s.program, schemaname
FROM gv$process p, gv$session s
WHERE p.addr = s.paddr;
  1. UNIX

kill -9 5745

ps -ef | grep pmon_$ORACLE_SID | awk '{print $2}' | xargs kill –9 #kill 一批会话

2. WINDOWS

orakill <instance_name> <spid>

如果会话已经在DB里killed,上面的SQL已经查不出spid,可以用下面的SQL查出SPID

select addr, pid, spid
  FROM v$process p
 where addr in (select p.addr
                  from v$process p
                 where pid <> 1
                minus
                select s.paddr from v$session s)
优质内容筛选与推荐>>
1、Stellarium0.9.0新功能
2、【48】认识template元编程
3、Android无数据线调试方法
4、asp.net ajax实现在线人员的显示
5、Android 自定义的开关按钮——SwitchButton


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号