设为首页 收藏本站
查看: 916|回复: 0

[经验分享] Oracle Data Concurrency and Consistency二之Oracle锁机制

[复制链接]

尚未签到

发表于 2018-9-13 11:05:09 | 显示全部楼层 |阅读模式
select from table none  insert into table RX
  update table RX
  delete from table RX
  select from table for update of RS
  lock table in row share mode RS
  lock table in row exclusive mode RX
  lock tablein share mode S
  lock table in share row exclusive mode SRX
  lock table in exclusive mode X
  另外,这里还有所谓的锁兼容性的问题,比如一个RX类型的表级别锁上面,允许其他事务修改、删除其他行的数据,所以允许其他事务在该表上获得
  RX类型的表级别锁,但是不允许X类型的表级锁,关于锁兼容性的问题具体可以查看Oracle相关文档,不再赘述。
  DDL locks,DDL lock 用来保护schema下对象的定义,比如在编译一个procedure的过程中,在该过程中引用导的对象会自动获得DDL锁保护,以防止在创建或
  编译过程中引用的对象被修改或删除。Oracle DDL锁分为exclusive DDL locks,share DDL locks和breakable parse locks.
  Exclusive DDL locks:大多数的DDL操作都会获得exclusive DDL locks来保护对象,比如不允许会话一在alter table的过程中会话二drop table等等。
  Share DDL locks:一些DDL操作获得share DDL lock用来防止DDL冲突,但是允许多个会话并发的的进行该类型的DDL操作。比如一个会话在Create procedure的过程中,
  在该过程中应用到的所偶对象上会获得share DDL lock,其他会话也可以通过create procedure来访问会话一引用到的对象,但是不允许任何一个事务修改引用到的对象。
  在下列语句中,会获得share DDL lock:AUDIT, NOAUDIT, COMMENT, CREATE [OR REPLACE] VIEW/
  PROCEDURE/PACKAGE/PACKAGE BODY/FUNCTION/ TRIGGER, CREATE SYNONYM,
  and CREATE TABLE (when the CLUSTER parameter is not included).
  Breakable Parse Locks:SQL 语句在shared pool中在parse阶段对相应对象加breakable parse locks,以防止在parse阶段相应的对象被修改或删除,但是由于在parse阶段
  你依然可以修改或删除相关的对象,所以叫做breakable parse locks.A parse lock is acquired during the parse phase of SQL statement execution and held
  as long as the shared SQL area for that statement remains in the shared pool.


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-577737-1-1.html 上篇帖子: Oracle Data Concurrency and Consistency一之Oracle事务隔离级别 下篇帖子: oracle 数据泵导出简单使用版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表