在 Oracle 数据库中,表锁可以以下模式持有:
一、共享锁(Share Lock,S 锁)
作用与特点:
- 多个事务可以同时对一个对象持有共享锁。共享锁通常用于读取操作,它允许多个事务同时读取同一个对象,但不允许对该对象进行写操作。
- 例如,多个用户同时查询一个表中的数据时,每个查询事务都会在该表上获取一个共享锁。这样可以确保在查询过程中,数据不会被其他事务修改,从而保证查询结果的一致性。
兼容性:
- 共享锁与共享锁是兼容的,即多个事务可以同时持有共享锁。但是,共享锁与排他锁(Exclusive Lock)是不兼容的。如果一个事务已经在对象上持有了排他锁,其他事务就不能再获取共享锁或排他锁,直到持有排他锁的事务释放锁为止。
二、排他锁(Exclusive Lock,X 锁)
作用与特点:
- 排他锁用于对对象进行写操作。当一个事务在对象上获取了排他锁时,其他事务不能对该对象进行任何类型的锁获取操作,包括共享锁和排他锁。
- 例如,当一个事务要修改一个表中的数据时,它会在该表上获取排他锁。这样可以确保在修改过程中,其他事务不能读取或修改该表的数据,从而保证数据修改的一致性。
兼容性:
- 排他锁与任何其他类型的锁都是不兼容的。只有当持有排他锁的事务释放锁后,其他事务才能获取该对象上的锁。
三、行排他锁(Row Exclusive Lock,RX 锁)
作用与特点:
- 行排他锁主要用于对表中的行进行修改操作。它类似于排他锁,但只作用于表中的特定行,而不是整个表。
- 例如,当一个事务要修改表中的某一行数据时,它会在该行上获取行排他锁。这样可以允许其他事务同时对表中的其他行进行读取或修改操作,提高并发度。
兼容性:
- 行排他锁与共享锁是不兼容的,但与其他行排他锁是兼容的。这意味着多个事务可以同时对表中的不同行获取行排他锁,但不能对同一行同时获取共享锁和行排他锁。
四、共享行排他锁(Share Row Exclusive Lock,SRX 锁)
作用与特点:
- 共享行排他锁是一种混合锁模式,它结合了共享锁和行排他锁的特点。这种锁模式允许多个事务同时对表中的行进行读取操作,但只有一个事务可以对该行进行修改操作。
- 例如,当一个事务要读取表中的某一行数据时,它会在该行上获取共享行排他锁。如果另一个事务也想读取同一行数据,它可以共享这个锁。但是,如果有一个事务要修改这行数据,它必须等待其他事务释放共享行排他锁后,才能获取排他锁进行修改。
兼容性:
- 共享行排他锁与共享锁是兼容的,但与排他锁和行排他锁是不兼容的。多个事务可以同时持有共享行排他锁进行读取操作,但当有事务要进行写操作时,必须等待其他事务释放锁。
表锁和行锁的区别是什么?
如何查看当前数据库中所有表的锁信息?
死锁的概念是什么?
帮我写作
图像生成
AI 搜索
阅读总结
音乐生成
解题答疑
学术搜索
更多
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
多个事务可以同时对一个对象持有共享锁。共享锁通常用于读取操作,它允许多个事务同时读取同一个对象,但不允许对该对象进行写操作。
6月前

评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
571次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
517次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
478次阅读
2025-04-01 11:08:44
墨天轮个人数说知识点合集
JiekeXu
464次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
462次阅读
2025-04-08 09:12:48
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
444次阅读
2025-04-22 00:20:37
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
444次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
421次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
406次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
391次阅读
2025-04-17 17:02:24