找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 7384|回复: 1

[经验] 如何查找和杀掉oracle的阻塞源?

[复制链接]
发表于 2021-7-5 16:30:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
-- 查询阻塞源
select b.sid,b.serial#,
      a.sql_id,
      a.sql_text,
      a.hash_value,
      b.username,
      b.machine,
      a.module,
      decode(c.block, 1, 'blocking') blocking,
      decode(c.request, 0, 'null', 'blocked') blocked,
      to_char(b.logon_time, 'yyyy-mm-dd hh24:mi:ss')
  from v$sql a, v$session b, v$lock c
where c.type = 'TX'
   and a.sql_id = b.sql_id
   and b.sid = c.sid
union all
select b.sid,b.serial#,
      a.sql_id,
      a.sql_text,
      a.hash_value,
      b.username,
      b.machine,
      a.module,
      decode(c.block, 1, 'blocking') blocking,
      decode(c.request, 0, 'null', 'blocked') blocked,
      to_char(b.logon_time, 'yyyy-mm-dd hh24:mi:ss')
  from v$sql a, v$session b, v$lock c
where c.type = 'TX'
   and a.sql_id = b.prev_sql_id
   and b.sid = c.sid
   and c.block = 1

---2 杀掉阻塞会话
alter system kill session '1025,41';   
--其中1025为sid,41为serial#.



发表于 2021-7-8 10:59:28 | 显示全部楼层
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-3-28 20:07 , Processed in 0.040187 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表