题目 部分

在Oracle中,显式锁和隐式锁的区别有哪些?


答案部分


Oracle锁被自动执行,并且不要求用户干预的锁为隐式锁,或称为自动锁。对于SQL语句而言,隐式锁是必须的,依赖于被请求的动作。隐式锁是Oracle中使用最多的锁,执行任何DML语句都会触发隐式锁。通常用户不必声明要对谁加锁,而是Oracle自动为操作的对象加锁。用户可以使用命令明确的要求对某一对象加锁,这就是显式锁。显式锁定很少使用。

显式锁主要使用LOCK TABLE语句实现,LOCK TABLE没有触发行锁,只有TM表锁,主要有如下几种语句:


1LOCK TABLE TABLE_NAME IN ROW SHARE MODE NOWAIT;   --2:RS
2LOCK TABLE TABLE_NAME IN SHARE UPDATE MODE; --2:RS
3LOCK TABLE TABLE_NAME IN ROW EXCLUSIVE MODE NOWAIT; --3:RX
4LOCK TABLE TABLE_NAME IN SHARE MODE; --4:S
5LOCK TABLE TABLE_NAME IN SHARE ROW EXCLUSIVE MODE; --5:SRX
6LOCK TABLE TABLE_NAME IN EXCLUSIVE MODE NOWAIT; --6:X

《Oracle程序员面试笔试宝典》,作者:小麦苗




【DB笔试面试656】在Oracle中,显式锁和隐式锁的区别有哪些?_显式

About Me:小麦苗


● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 版权所有,欢迎分享本文,转载请保留出处

 QQ群:618766405

● 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步


【DB笔试面试656】在Oracle中,显式锁和隐式锁的区别有哪些?_显式​​​DBA宝典​

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

【DB笔试面试656】在Oracle中,显式锁和隐式锁的区别有哪些?_oracle_03