暂无图片
select会持有锁么,阻塞会是非for update的select语句么?
我来答
分享
哆啦A梦
2022-12-17
select会持有锁么,阻塞会是非for update的select语句么?
暂无图片 25M
数据库发现有阻塞的情况,通过查询语句查询v$lock和v$session发现有一个sid是持有锁,通过sid查看到是一个inactive session的select语句,不是for update语句,那想请问这个select语句的LMODE是排他锁,为什么slelect语句会有拍他锁呢?那如何查看历史会话阻塞的情况,并且是谁阻塞了谁?
我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
DarkAthena

你看到的是最后执行的sql,在这个会话中,是可能有执行过其他sql对这个表进行了加锁,所以得看这个会话所有执行过的sql

暂无图片 评论
暂无图片 有用 0
暂无图片
哆啦A梦

1.png

暂无图片 评论
暂无图片 有用 1
哆啦A梦

2.png

暂无图片 评论
暂无图片 有用 1
哆啦A梦
我查的是阻塞时间段当前的holder是那个session,假如是按照您说的holder是其他的update语句的话他执行后提交了,然后这个seesion又执行了其他语句那不就应该释放了么?那我应该如何查看具体是谁造成的阻塞呢?
暂无图片 评论
暂无图片 有用 0
DarkAthena
2022-12-18
确认有commit么?
哆啦A梦
题主
2022-12-30
不确认有commit,但是如果不提交的话下一个是不是会一直造成blocker啊?cpu或者oem图是不是会一直上涨呢?他这个没有一直上涨,感觉很奇怪
哆啦A梦
题主
2022-12-30
还有请问如果按照您说的,那我应该怎么能查看到那个session到底是哪个语句造成的阻塞呢?有没有什么sql可以查到?
yBmZlQzJ

SELECT MAX_MEM_USED,SQL_TXT FROM V$SQL_STAT order by MAX_MEM_USED DESC;

暂无图片 评论
暂无图片 有用 2
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏