DBAtlas · 数据库运维图谱

终止会话(kill session)

Oracle会话与进程

命令

-- First find the session to kill:
SELECT sid, serial#, username, status, machine, program
FROM   v$session
WHERE  username = 'CUSTOMER_APP' AND status = 'ACTIVE';

-- Kill it (starts rollback immediately):
ALTER SYSTEM KILL SESSION '145,12345' IMMEDIATE;

-- If it hangs, the OS process can be terminated:
-- ALTER SYSTEM DISCONNECT SESSION '145,12345' IMMEDIATE;

作用

终止指定 SID,SERIAL# 的会话;其未提交的事务会被回滚。

适用场景

用于停止持有锁、运行失控查询或泄漏连接的会话。

注意

如果存在未提交的事务,回滚可能耗时很长(如果做的工作不多则很快完成)。先用查询确认,以免终止错误的 SID。大型 DML 的回滚会产生 I/O 负载。

在 DBAtlas 中打开 →

相关内容