- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
锁和表分区 * 回顾 SQL 是数据库语言,Oracle 使用该语言在数据库中存储和检索信息 Oracle 支持各种数据类型,如 VARCHAR2、NUMBER、LONG、RAW 和 DATE 等 数据操纵语言用于查询和修改表中的数据 事务控制语言管理事务的一致性 SQL 操作符包括算术、比较、逻辑、集合和连接操作符 SQL 函数可以大致分为单行函数、聚合函数和分析函数 * 目标 理解锁定的概念 了解和使用表分区 * 锁的概念 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 Ro
您可能关注的文档
最近下载
- 中远海运集团能力素质测评.pdf
- 学堂在线 研究生学术与职业素养讲座 章节测试答案.docx VIP
- 科技创新可行性研究报告参考模板 (一).docx
- 学堂在线 遥测原理 章节测试答案.docx VIP
- 1.5t中频感应熔炼系统性能报价单.pdf VIP
- 2025-2026学年粤教粤科版(2024)小学科学三年级上册(全册)教学设计(附目录 P182) .docx
- 强生中国医疗器材有限公司渠道管理案例1.PDF
- 学堂在线 不朽的艺术:走进大师与经典 章节测试答案.docx VIP
- 建筑工程计价 教学课件 作者 李伟 第二章.ppt VIP
- 2024四川省建筑安全员-B证(项目经理)考试题库.doc VIP
原创力文档


文档评论(0)