- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章理论课锁和表分区
《Oracle 数据库应用 》理论课
锁和表分区
本章技能目标
理解锁定的概念
了解和使用表分区
1. 锁的概念
锁是数据库用来控制共享资源并发访问的机制。在多用户环境下,多个用户可同时访问相同的
数据。Oracle 提供锁已确保在多用户环境下的数据的完整性和一致性,在提交或回滚事务之前,
Oracle 会锁定正在被修改的数据,锁用于保护正在被修改的数据。在用户完成或者回滚了事务
之后,锁会被释放。直到提交或回滚了事务之后,其他用户才可以更新数据。
大多数情况下,锁是不需要开发者显示干预的。当更新数据行的时候,我们不必对其进行锁定,
Oracle 会为我们完成这些工作。有些时候显示锁定是必须的,但是大多数时候,锁会自行管理。
锁定的优点
一致性 - 一次只允许一个用户修改数据
完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改
将反映给所有用户
并行性 -允许多个用户访问同一数据
锁用于保护表中的数据,每次只允许一个事务对表中的特定的行进行更新。例如,如果一个用
户正在更新表中的数据,则另一个用户就不能同时删除该数据。因此,锁提供了高度的数据并
发性。
锁的类型
行级锁 (用于特定行)
表级锁 (用于整个表)
1.1 行级锁
行级锁只对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行。例如:
锁和表分区
如果用户1 正在更新Toys 表中的第一行,则用户2 可以修改Toys 表中的第二行。
行级锁是一种排他锁,防止其他事务修改此行,但是不会阻止读取此行的操作。在使用以
下语句时,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 子句指定等待其他用户释放锁的秒数,防止无限期的等待。
例1:演示如何锁定vencode 值为“V002 ”的行。销售部门的用户需要更新order_master
表中某些行。可以应用锁来防止其他用户在更新完成之前操作这些行。
例1:
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;
例 1 首先锁定要更新的行,防止其他用户更新这些行,然后用UPADTE 命令执行更新
操作,最后通过提交命令释放锁。
例2 :演示WAIT 子句的用法。
可以通过此实验来理解此概念。先启动一个 SQL*Plus,执行下面的命令,先不要提交
或者回滚。
例2:
SQL SELECT * FROM order_master WHERE vencode=’V002 ’
FOR UPDATE;
以上命令会立即返回到SQL提示符。再开启一个SQL*Plus,以相同的用户登录,执行
下面的命令。
SQL SELECT * FROM order_master WHERE vencode=’V002 ’
您可能关注的文档
- 护理人员对预防难免压疮的质性研究.pdf
- 新GRE填空题选项单独出现几率大-智课教育旗下智课教育.pdf
- 武汉理工大学考博英语核心词汇集锦.pdf
- 2014美国奥林匹亚化学试题.pdf
- 双语新闻:《侏罗纪世界》成2015年电影穿帮之王.pdf
- 一个疯子眼中的常人世界论卡夫卡及其荒诞感.pdf
- Neff :Strong coherence between solar variability and the monsoon in Oman between 9 and 6 kyr ago.pdf
- 线性代数1-01 逆序数-行列式定义.pdf
- 07《数据结构》第五章.pdf
- 愤怒的加工机制——从效价到动机.pdf
- 六年级数学下册教学课件《解比例》.pptx
- 8.21.5 鸟类的生殖与发育(课件)八年级生物下册课件(苏教版).pptx
- 钠离子电池项目智能制造方案(范文参考).docx
- 2023-2024学年吉林省吉林市舒兰市七年级(上)期末语文试卷.docx
- 2024年吉林省吉林市丰满区亚桥实验学校中考数学三模试卷.docx
- 2023-2024学年吉林省辽源市东辽县七年级(上)期末英语试卷.docx
- 2023-2024学年吉林四平九年级数学第一学期期末水平检测试卷.docx
- 2023-2024学年吉林市蛟河市三校联考九年级(上)期末英语试卷.docx
- 2023-2024学年吉林松原九年级英语上册考场实战试卷.docx
- 电解液新材料项目智能制造方案.docx
文档评论(0)