栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > SEO面试题

Oracle的锁有几种模式?

SEO面试题 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Oracle的锁有几种模式?

Oracle里面的锁共有一下几种模式:

0: none

1:  null 空

2:Row-S 行共享(Row Share RS): 共享表锁

3:Row-X 行专用(RX): 用于行数据的修改

4:Share 共享锁(S): 阻止其他DML操作

5:S/Row-X 共享行专用(SRX): 阻止其他事务操作

6:exclusive 专用(X): 独立访问使用

以上可以看出,数字越大的锁影响的操作越多,锁的级别越高。

一般的查询语句是小于2的锁,如select * from *

select … from … for update 是2的锁,这时候返回集的数据行都将处于行级(Row-X)独占式锁定,其他对象只能对这些数据进行查询,而不能进行更新或者select for update操作。

insert/update/delete是3的锁, 在这些操作没有commit之前插入同样的记录会没有反应,因为3的锁必须要等到前一个3的锁执行释放掉以后才能继续。 创建索引的时候也会产生3,4级别的锁。

locked_mod为2,3,4的锁,不影响DML(insert,delete,update,select)操作,但是DDL(alter,drop)等修改表结构的操作会提示ora-00054错误。

当有主外键约束时执行update/delete操作可能会产生4,5的锁。

DDL语句时是6的锁。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号