oracle的TM锁TX锁知识完全普及[参考].pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
o r a c l e 的 T M 锁 、 T X 锁 知 识 完 全 普 及 锁概念基础 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在 数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加 控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据 对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据 对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对 象进行更新操作。 在数据库中有两种基本的锁类型:排它锁( Exclusive Locks ,即 X 锁) 和共享锁( Share Locks ,即 S 锁)。当数据对象被加上排它锁时,其他 的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读 取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行 并发控制。 Oracle 数据库的锁类型 根据保护的对象不同, Oracle 数据库锁可以分为以下几大类: DML锁 (data locks ,数据锁),用于保护数据的完整性; DDL锁( dictionary locks , 字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;内部 锁和闩( internal locks and latches ),保护数据库的内部结构。 DML锁的目的在于保证并发情况下的数据完整性,。在 Oracle 数据库中, DML锁主要包括 TM锁和 TX 锁,其中 TM锁称为表级锁, TX 锁称为事务锁 或行级锁。 当 Oracle 执行 DML语句时,系统自动在所要操作的表上申请 TM类型的锁。 当 TM锁获得后,系统再自动申请 TX 类型的锁,并将实际锁定的数据行的 锁标志位进行置位。这样在事务加锁前检查 TX锁相容性时就不用再逐行 检查锁标志,而只需检查 TM锁模式的相容性即可,大大提高了系统的效 率。 TM锁包括了 SS、SX、S、X 等多种模式,在数据库中用 0 -6 来表示。 不同的 SQL操作产生不同类型的 TM锁。 在数据行上只有 X 锁(排他锁)。在 Oracle 数据库中,当一个事务首次 发起一个 DML语句时就获得一个 TX 锁,该锁保持到事务被提交或回滚。 当两个或多个会话在表的同一条记录上执行 DML 语句时,第一个会话在该 条记录上加锁,其他的会话处于等待状态。当第一个会话提交后, TX 锁被 释放,其他会话才可以加锁。 当 Oracle 数据库发生 TX 锁等待时,如果不及时处理常常会引起 Oracle 数据库挂起,或导致死锁的发生,产生 ORA-60的错误。这些现象都会对 实际应用产生极大的危害,如长时间未响应,大量事务失败等。 悲观封锁和乐观封锁 一、悲观封锁 锁在用户修改之前就发挥作用: Select ..for update (nowait) Select * from tab1 for update 用户发出这条命令之后, oracle 将会对返回集中的数据建立行级封锁, 以 防止其他用户的修改。 如果此时其他用户对上面返回结果集的数据进行 dml 或 ddl 操作都会返回 一个错误信息或发生阻塞。 1:对返回结果集进行 update 或 delet

文档评论(0)

肖四妹学教育 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档