暂无图片
分享
卢春龙
2019-06-18
行锁意思是有资源争用吗?

行锁意思是有资源争用吗?

image.png


收藏
分享
6条回答
默认
最新
卢春龙
上传附件:20190528rac1.html
暂无图片 评论
暂无图片 有用 0
打赏 0
燕鑫

准确的说是不同的事务更新共同的行导致的事务锁争用,你需要在业务层面解决该问题。

暂无图片 评论
暂无图片 有用 0
打赏 0
卢春龙

有哪条语句可以查出资源争用的吗

暂无图片 评论
暂无图片 有用 0
打赏 0
燕鑫

你这个问题没办法回答,我只能告诉你当发生row lock contention时,怎么确定阻塞源:gv$lock,需自行确认一下各列的意思,比较重要的有,sid、type、lmode、request列,感兴趣可以看一下对于TX锁id1,id2代表的是什么,TM锁id1、id2又代表什么。
以及在row lock contention发生完了,如果追究阻塞源:gv$active_session_history和dba_hist_active_sess_history,具体俩个视图的区别,以及与v$session的联系,自行研究一下。

暂无图片 评论
暂无图片 有用 0
打赏 0
Albert

出现问题是可以依靠V$WAIT_CHAINS或者v$session中 select sql_id,blocking_session,count(*) from  v$session/gv$session where event=''enq: TX - row lock contention' group by sql_id,blocking_session order  by 3 desc  去找对应的SQL,去验证是事务过于复杂导致COMMIT慢还是SESSION HUNG的情况

暂无图片 评论
暂无图片 有用 0
打赏 0
卢春龙
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交