oracle table-lock的5种模式
Oracle中的锁定可以分为几类:DML lock(data lock),DDL lock(dictionary lock)和internal lock/latch。DML lock又可以分为row lock和table lock。row lock在select.. for update/insert/update/delete时隐式自动产生,而table lock除了隐式产生,也可以调用lock table in name来显示锁定。
如果不希望别的session lock/insert/update/delete表中任意一行,只允许查询,可以用lock table table_name in exclusive mode。(X)这个锁定模式级别最高,并发度最小。
如果允许别的session查询或用select for update锁定记录,不允许insert/update/delete,可以用lock table table_name in share row exclusive mode。(SRX)
如 果允许别的session查询或select for update以及lock table table_name in share mode,只是不允许insert/update/delete,可以用lock table table_name in share mode。(share mode和share row exclusive mode的区别在于一个是非抢占式的而另一个是抢占式的。进入share row exclusive mode后其他session不能阻止你insert/update/delete,而进入share mode后其他session也同样可以进入share mode,进而阻止你对表的修改。(S)
还有两种锁定模式,row share(RS)和row exclusive(RX)。他们允许的并发操作更多,一般直接用DML语句自动获得,而不用lock语句。
详细参考concepts文档中的"Type Of Locks":https://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm
文章转自庄周梦蝶 ,原文发布时间5.17
最后更新:2017-05-17 12:01:51
上一篇:
创建型模式摘记
下一篇:
websphere5.1上使用普通client调用EJB需要注意的问题
Automatic logon configuration on Linux OS
html文件中引入css代码
双态运维联盟工作会议暨2017年度双态运维大会乌镇峰会筹备会在新华三杭州园区召开
error while loading shared libraries: libpcre.so.1: cannot open shared object file
C++对象模型(一):The Semantics of Constructors The Default Constructor (默认构造函数什么时候会被创建出来)
酷毙了,全国首个程序员主题咖啡店居然长这样!
《Apache Zookeeper 官方文档》-4 ZooKeeper编程指南
magento -- 提供压缩版prototype.js下载
想改进你的卷积神经网络?看看这14种设计模式!
冷静下来后 互联网医疗如何才能实现优质平等的医疗服务?