ORACLE-锁
ccwgpt 2024-11-25 10:24 38 浏览 0 评论
oracle中的锁
1、Table Locks (TM)
当事务通过INSERT、UPDATE、DELETE、MERGE和FOR UPDATE对表进行修改时,就会获得一个表锁,也称为TM锁子句,或锁表语句。DML操作需要表锁来为事务保留对表的DML访问权限,并防止DDL与事务冲突的操作。
2、Row Share (RS)
这个锁,也称为子共享表锁(SS),表示持有表上锁的事务已锁定表中的行并打算锁定更新它们。行共享锁是表锁中限制最少的一种模式,它为表提供最高程度的并发性。
3、Row Exclusive Table Lock (RX)
这个锁,也称为subexclusive table lock (SX),通常表示持有锁的事务已经更新了表行或发出了SELECT…FOR UPDATE。SX锁允许其他事务在同一表中同时查询、插入、更新、删除或锁定行。因此,SX锁允许多个事务为同一个表获取同步的SX和子共享表锁。
4、Share Table Lock (S)
事务持有的共享表锁允许其他事务查询表(除了SELECT…FOR UPDATE),但只允许更新如果一个事务持有共享表锁。由于多个事务可能同时持有一个共享表锁,因此持有此锁不足以确保事务可以修改表。
5、Share Row Exclusive Table Lock (SRX)
这个锁,也称为共享-subexclusive table锁(SSX),比共享表锁有更多的限制。一次只能获得一个事务SSX锁定给定的表。事务持有的SSX锁允许其他事务查询表(除了SELECT…FOR UPDATE),但不更新表。
6、Exclusive Table Lock (X)
此锁是最严格的,禁止其他事务执行任何类型的DML语句或将任何类型的锁放在表上。
因为ORACLE要处理不同的并发功能,一旦处理不了那么多并发,就需要排队,为保证排队的公平就会出现各种优先级,因此衍生出很多锁模式,来支持不同业务层的并发需求。
在同一个session里面,你执行一个UPDATE语句,在表上有DML锁,那自己能去做DDL语句吗,比如DROP,因为是同一个session,所以不涉及并发,自己做一个update不提交,随后drop table也是可以的
行锁:0、6两类锁
表锁:0、1、2、3、4、5、6七类锁
0(none)
1(null)
2(RS)
3(RX)
4(S)
5(SRX)
6(X)
R是ROW行,S是SHARE共享,X是eXclusive排他,独占锁的意思
null 空
一般的SELECT,在表和行上都是0级锁1:null 空
1级锁有:Select有时会在v$locked_object出现。
Row-S 行共享(RS):共享表锁,sub share
2级锁有:Lock Row Share,create index online
>>表锁的情况下
locked_mode 2不影响后一个locked_mode 2、3、4、5的会话,如果后一个会话locked_mode为6,则后一个会话操作会提示ora-00054错误。
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
>>行锁的情况下
locked_mode 2对应行锁0级锁,不影响其他会话。
3:Row-X 行独占(RX):用于行的修改,sub exclusive
3级锁有:Insert, Update, Delete, Select for update,Lock Row Exclusive
>>表锁的情况下
locked_mode 3不影响后一个locked_mode 3的会话,但如果后一个会话locked_mode为4,5,6,则后一个会话操作会提示ora-00054错误。
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
>>行锁的情况下
locked_mode 3的表锁对应行锁6级锁,两个会话对同一行则影响。
4:Share 共享锁(S):阻止其他DML操作,share
4级锁有:Create Index, Lock Share
5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive
5级锁有:Lock Share Row Exclusive
具体来讲有主外键约束时update/delete ... ; 可能会产生4,5的锁。
6:exclusive 独占(X):独立访问使用,exclusive
6级锁有:Drop table, Drop Index, Alter table,Truncate table, Lock Exclusive。
相关推荐
- 掌握这7个构图技巧,让你的摄影作品瞬间提升档次
-
摄影不仅仅是按下快门,它更是一种视觉语言的艺术表达。而构图,则是这门艺术中最基础也最重要的部分。无论是拍摄风景、人像还是静物,好的构图能让你的作品更具吸引力。今天,雅岚老师为大家整理了7个实用的构图技...
- 如何利用DeepSeek写小说,一分钟教会你,跟着做,简直不要太爽!
-
在文学创作领域,DeepSeek正逐渐成为作家们的得力助手。无论是构思故事框架、设计人物形象,还是优化语言表达,DeepSeek都能提供强大的支持。以下是利用DeepSeek写小说的详细步骤和实用技...
- 干货:如何把握住小说中个人元素的“量”
-
在小说中添加个人化元素时,需要注意以下几个方面:保持平衡-个人元素与故事融合:个人化元素要与小说的整体故事框架、情节发展和主题思想有机融合,不能生硬插入,以免破坏故事的连贯性和完整性。-避免过度自...
- 笑麻了,小说怎么写?抄就完了!网友评论过于真实
-
首先感谢小伙伴的阅读,欢迎大家进行点赞、关注、收藏。小编在此也祝大家日进斗金、财源滚滚。0102首先,天下文章一大抄,看什么输出的思想和文笔就接近什么,这是没办法的事。而且,现在梗的起源都源自宇宙中心...
- 打造完整小说大纲模板,让你的故事情节丝丝入扣!
-
掌握终极方法,轻松写出好故事!对新手而言,面对一张空白的纸,不知道从何处下笔是一种常见的困扰。写小说时,很容易迷失在各种情节和细节中,不知道故事的整体走向。下面就是我吐血为大家整理的标准小说大纲模板...
- 小说开篇教程一
-
(一)评判小说的四要素:1、人物:人物是小说的基石,读者看小说所追随的代入感,一个饱满的、个性鲜明的,具有画面感的人物才是塑造成功的人物。很多作者最大的问题,就是人物扁平化、脸谱化,人物的言行举...
- 网文小说的细纲,大纲,定期盘一盘,拯救卡文 | 附模板
-
#头条创作挑战赛#本文总目录:细纲盘一盘,拯救卡文|附模板清晰的大纲是小说成功的一半细纲盘一盘,拯救卡文|附模板细纲并非浪费时间。前期理清思路,打通各个环节,搭建框架,后期的正文就是填充内容,...
- 如何写网文大纲:7步超神,大纲公式(纯干货)
-
对于大纲的写作,无论是新手还是老油条,大都充满畏惧。网上关于写大纲的教学,也杂乱无章,以至于很多人迷茫了,开始摆烂,为了掩饰自己而说,写小说没大纲也能下笔如流。真这样吗?每个人心里都有故事,但是几乎没...
- 如何搭建小说的骨架?通过设计提纲入手
-
什么是小说?有时候去探究下词语的起源会挺有意思。比如小说为什么叫“小说”呢?那有“大说”吗?为什么用这两个字来指代以描述故事、环境来反映社会生活的文学体裁?小说一词最早是庄子提出来,指琐碎的言论,和现...
- 掌握这几点,轻松写好小说大纲
-
写小说大纲时需兼顾内容、结构和风格,为后续创作筑牢根基,注意事项如下:-内容层面-逻辑连贯:各情节发展、人物转变要符合内在逻辑。比如主角从懦弱变强大,需要有逐步成长的过程和促使转变的事件,不能毫无...
- 书荒终结者!这 5 本小说跳出传统框架,每一本都让你脑洞大开
-
看多了玄幻修仙、无限穿越等套路化爽文,想寻找一些突破传统框架的新颖作品?以下5本小说从题材到叙事都极具颠覆性,适合追求新鲜感的书荒读者:一、中式克苏鲁:当修仙遇上疯癫美学《道诡异仙》作者:狐狸的笔关...
- 我年入千万的作家朋友:小说如何写细纲章纲,写作必备模板
-
#头条创作挑战赛#本文总目录:我年入千万的作家朋友:如何写细纲,必备模板前面数字代表章节,模板是一种构思思路,因作品自行安排即可。写好细纲,有助于更好完成一部长篇作品。这也是影视方考量一部作品时必须要...
- 小说大纲怎么写?
-
写小说大纲是梳理故事脉络、确保逻辑连贯的重要步骤。以下是一个通用的小说大纲撰写框架,你可以根据作品类型(如言情、悬疑、奇幻等)灵活调整:一、核心要素故事主题用一句话概括核心思想(如"爱与牺牲能...
- 从0开始写小说!小说的基本故事架构
-
一本小说最基本的故事架构可以划分为以下几部分:主角目标阻碍努力结果转折高潮大结局————————————————————把每个部分详细介绍一下:主角可以看看我主页的置顶图文:人设模版。来确定你自己小说...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)