-- 根据机器名称、SQL_HASH_VALUE过滤特殊的会话,并形成批量kill脚本
SELECT "alter system kill session """ || c.sid || "" || "," || c.serial# ||""";"
FROM v$session c
WHERE c.MACHINE="hffwbz1" and c.SQL_HASH_VALUE="2639167965"--可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配。
SELECT a.object_id, a.session_id, b.object_name, c.*
FROM v$locked_object a, dba_objects b, v$session c
WHERE a.object_id = b.object_id
AND a.SESSION_ID = c.sid(+) --杀Seesion的SQL语句语法如下:
alter system kill session "sid, serial#" --如上面查出来的一条记录的sid是53, serial#为663,就执行以下的语句
alter system kill session "53,663" --拼凑kill语句的方式如下,下面加了一个过滤条件和一个排序,杀除真正关心的表,并且着重注意超时时间过长的会话。
SELECT "alter system kill session """ || c.sid || "" || "," || c.serial# ||""";",
a.object_id, a.session_id, b.object_name, c.*
FROM v$locked_object a, dba_objects b, v$session c
WHERE a.object_id = b.object_id
AND a.SESSION_ID = c.sid(+)
AND schemaname = "Unmi"
ORDER BY logon_time Oracle系统存在latch free等待事件及运行超长SQL监控分析Oracle快速创建定时job执行批量转储过程脚本参考案例相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)