暂无图片
Oracle能进行锁升级吗?
我来答
分享
三阳
2023-02-19
Oracle能进行锁升级吗?

Oracle能进行锁升级吗?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

Oracle从来不会进行锁升级(lock escalation),但它会执行锁转换(lock conversion)。

Oracle会尽可能地尝试使用最低级别的锁,如有必要,再把这个锁转换为一个受限更多的级别。例如,如果用FOR UPDATE子句从表中选择一行,就会创建两个锁。一个锁放在所选的行上(这是一个排他锁,其他任何人都不能再以排他的模式锁定这一行);另一个锁是ROW SHARE TABLE锁,放在表本身上,这个锁能防止其他会话在表上再放置一个排他锁。这样能相应地防止这些这些会话改变表的结构。另一个会话可以修改这个表中的任何其他行,而不会有冲突。尽管表中有一行被锁住,但还是能在表上成功地执行尽可能多的命令。

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