3-Oracle锁和表分区.pptVIP

  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文档。上传文档
查看更多
3-Oracle锁和表分区

ACCP V4.0 ACCP V4.0 * * 第三章  锁和表分区 目标 理解锁定的概念 了解和使用表分区 * 锁的概念 2-1 锁是数据库用来控制共享资源并发访问的机制。 锁用于保护正在被修改的数据 直到提交或回滚了事务之后,其他用户才可以更新数据 * 锁的概念 2-2 Toy_ID Name Price T001 Barbie 20 T002 GI Joe 45 * 修改表 修改表 拒绝访问 锁定的优点 一致性 - 一次只允许一个用户修改数据 完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户 Toy_ID Name Price T001 Barbie 20 T002 GI Joe 45 * 并行性 -允许多个用户访问同一数据 修改表中 的数据 查看表中的数据 允许访问 锁的类型 * 表级锁 行级锁 锁的类型 行级锁 3-1 Toy_ID Name Price T001 Barbie 20 T002 GI Joe 45 * 更新 T002 行 更新 T001 行 行被锁定 对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行 允许访问 行级锁 3-2 行级锁是一种排他锁,防止其他事务修改此行 在使用以下语句时,Oracle会自动应用行级锁: INSERT UPDATE DELETE SELECT … FOR UPDATE SELECT … FOR UPDATE语句允许用户一次锁定多条记录进行更新 使用COMMIT或ROLLBACK语句释放锁 * 行级锁 3-3 SELECT … FOR UPDATE语法:  SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT]; * 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; 表级锁 3-1 Toy_ID Name Price T001 Barbie 20 T002 GI Joe 45 * 修改表中的行 更新表 拒绝访问 锁定整个表,限制其他用户对表的访问。 表级锁 3-2 使用命令显示地锁定表,应用表级锁的语法是: LOCK TABLE table_name IN mode MODE; * 表级锁类型 行共享 行排他 共享 共享行排他 排他 表级锁 3-3 行共享 (ROW SHARE) – 禁止排他锁定表 行排他(ROW EXCLUSIVE) – 禁止使用排他锁和共享锁 共享锁(SHARE) 锁定表,仅允许其他用户查询表中的行 禁止其他用户插入、更新和删除行 多个用户可以同时在同一个表上应用此锁 共享行排他(SHARE ROW EXCLUSIVE) – 比共享锁更多的限制,禁止使用共享锁及更高的锁 排他(EXCLUSIVE) – 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表 * 死锁 当两个事务相互等待对方释放资源时,就会形成死锁 Oracle会自动检测死锁,并通过结束其中的一个事务来解决死锁 右边是一个死锁的例子 * T1 T2 lock (D1) 时间 lock (D2) lock (D2) lock (D1) 等待 等待 … … 表分区 允许用户将一个表分成多个分区 用户可以执行查询,只访问表中的特定分区 将不同的分区存储在不同的磁盘,提高访问性能和安全性 可以独立地备份和恢复每个分区 * Name Address State Country John Smith 34th Rd. California US Micheal Clarke LK Rd. New York US Jack Jones 9th Road California US Bob Simmons 12th Street New York US Jim Taylor 53rd Road New York US 更新表 只访问 P1 P1 分区 P2 分区 表分区的类型 9-1 * 分区方法 范围分区 散列分区 列表分区 复合分区 表分区

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档