在ORACLE数据库杀掉会话进程有三种方式:
1:ALTER SYSTEM KILL SESSION
关于KILL SESSION Clause ,官方文档描述alter system kill session实际上不是真正的杀死会话,它只是将会话标记为终止。等待PMON进程来清除会话。
可以使用如下方式来快速回滚事物、释放会话的相关锁、立即返回当前会话的控制权。
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#' 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.
2:ALTER SYSTEM DISCONNECT SESSION
ALTER SYSTEM DISCONNECT SESSION 杀掉专用服务器(DEDICATED SERVER)或共享服务器的连接会话,它等价于从操作系统杀掉进程。它有两个选项POST_TRANSACTION和IMMEDIATE, 其中POST_TRANSACTION表示等待事务完成后断开会话,IMMEDIATE表示中断会话,立即回滚事务。
SQL>ALTER SYSTEM DISCONNECT SESSION 'sid,serial#' POST_TRANSACTION;
SQL>ALTER SYSTEM DISCONNECT SESSION 'sid,serial#' IMMEDIATE;