oracle阻塞会话与kill

简介: oracle阻塞会话与kill

--查询阻塞会话,blocking_session列代表该会话阻塞sid列的会话
SELECT /+rule/
S.SQL_ID,
S.SID,
S.BLOCKING_SESSION,
S.SERIAL#,
S.USERNAME,
W.EVENT,
W.SECONDS_IN_WAIT,
W.WAIT_TIME,
S.LAST_CALL_ET,
S.STATUS,
S.CLIENT_INFO,
Q.SQL_TEXT,
Q.HASH_VALUE,
Q.ADDRESS,
'alter system kill session''' || S.SID || ',' || S.SERIAL# ||
''' immediate;'
FROM V$SESSION_WAIT W,V$SESSION S,V$SQL Q
WHERE W.SID = S.SID
AND Q.HASH_VALUE = S.SQL_HASH_VALUE
AND W.EVENT NOT LIKE '%message from client%'
AND S.SID >= 6
ORDER BY LAST_CALL_ET DESC;
--查看阻塞会话的状态是否活动,客户端标识,机器名称,根据这个内容可以判断出NMC线程监控中的sname,bname,tname
select vs.status,vs.CLIENT_IDENTIFIER,vs.MACHINE,vs.sid,vs.SERIAL# from V$SESSION vs where vs.sid='~';
--干掉阻塞会话
alter system kill session '~,~' immediate;

在Oracle数据库中,ALTER SYSTEM KILL SESSION命令用于立即终止指定的会话。~和~表示任何值,所以ALTER SYSTEM KILL SESSION '~', '~' IMMEDIATE;将立即终止任何会话。

相关文章
|
Oracle 网络协议 关系型数据库
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
这篇文章是Oracle会话超时设置的第一个文章,简述和Oracle 数据库 net services有关的会话超时管理。
1364 0
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
|
4月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle结束 RMAN 会话:
【7月更文挑战第25天】
83 1
|
4月前
|
SQL Oracle 关系型数据库
|
6月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。
|
Oracle 关系型数据库 数据库
Oracle 会话超时设置3:在用户profile文件中设置
Oracle会话超时设置系列的第三篇文章,介绍在用户profile文件中设置会话的超时设置。
573 0
|
Oracle 关系型数据库 数据库
Oracle 查看当前会话 SESSION ID 方法
查看当前会话的session  ID 有如下三种方法:   1.   v$mystat视图   SQL> desc v$mystat  Name                ...
1754 0
|
SQL Oracle 关系型数据库
Oracle 技巧篇-快速批量删除当前数据库连接的用户,一键清空所有session会话方法
Oracle 技巧篇-快速批量删除当前数据库连接的用户,一键清空所有session会话方法
769 0
Oracle 技巧篇-快速批量删除当前数据库连接的用户,一键清空所有session会话方法