锁及事务的高级使用(一)-公开课件(讲义).pptVIP

锁及事务的高级使用(一)-公开课件(讲义).ppt

  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文档。上传文档
查看更多
目标 锁 锁是数据库用来控制共享资源并发访问的机制。 锁用于保护正在被修改的数据 直到提交或回滚了事务之后,其他用户才可以更新数据 锁的概念 锁定的优点 一致性 - 一次只允许一个用户修改数据 完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户 锁的类型 行级锁 行级锁 行级锁是一种排他锁,防止其他事务修改此行 在使用以下语句时,Oracle会自动应用行级锁: INSERT UPDATE DELETE SELECT … FOR UPDATE SELECT … FOR UPDATE语句允许用户一次锁定多条记录进行更新 使用COMMIT或ROLLBACK语句释放锁 行级锁 SELECT … FOR UPDATE语法:  SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT]; 说明: OF 子句用于指定即将更新的列,即锁定行上的特定列。  WAIT 子句指定等待其他用户释放锁的秒数,防止无限期的等待 行级锁 “使用FOR UPDATE WAIT”子句的优点如下: 1.防止无限期地等待被锁定的行; 2.允许应用程序中对锁的等待时间进行更多的控制 3.对于交互式应用程序非常有用,因为这些用户不 能等待不确定 4.若使用了skip locked,则可以越过锁定的行,不会报告由wait n 引发的‘资源忙’异常报告 小结: 锁用于保护多用户环境下被修改的数据 锁分为两种级别,即行级锁和表级锁 行级锁的应用 本课程版权归北风网所有 欢迎访问我们的官方网站 讲师:文心 PL/SQL高级编程 北风网项目培训 锁及事务的高级使用 理解锁定的概念 掌握锁的使用 修改表 修改表 拒绝访问 Sage Name Sno 李四 张三 22 95002 20 95001 并行性 -允许多个用户访问同一数据 Sage Name Sno 李四 张三 22 95002 20 95001 修改表中 的数据 查看表中的数据 允许访问 表级锁 行级锁 锁的类型 李四 张三 Name 22 95002 20 95001 Sage Sno 更新 95002 行 更新 95001 行 行被锁定 对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行 允许访问 SQL SELECT * FROM order_master WHERE vencode=’V002’ FOR UPDATE OF odate, del_date; SQL UPDATE order_master SET del_date=’28-8月-05’ WHERE vencode=’V002’; SQL COMMIT; SQL SELECT * FROM order_master WHERE vencode=’V002’ FOR UPDATE WAIT 5; SQL SELECT * FROM order_master WHERE vencode=’V002’ FOR UPDATE NOWAIT; * *

文档评论(0)

小红帽 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档