- 1、本文档共143页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADB2关系数据库基础解读
① 事务T 需对数据D 进行操作(读/写)时, □须向系统提出申请,对D 加以封锁 □加锁成功后,即具有对数据D一定操作与控制权限 □此时,其它事务不能对加锁的数据D随意操作 ② 事务T 操作完成之后即释放锁 在此之后后数据D即可为其它事务操作服务 基于封锁技术的事务进程如图2-13所示。 2.5.1 并发控制 2.5.1 并发控制 表级封锁两种形式 ●排它锁(eXclusive locks): 事务T 对数据对象D 加X锁后,T 可对数据D进行读写 其它事务只有等到T 解除X锁后,才能对D进行封锁和操作 排它锁的实质: 保证事务对数据的独占性 排除其它事务对本事物执行过程的干扰 2.5.1 并发控制 由于只容许一个事务独自封锁数据,其它申请封锁的事务只能排队等待,所以采用X锁时并发程度较低 □共享锁(Sharing Locks): 事务T 对数据D 加S锁之后,T 可读D 但不能写D 其它事务可对D加S锁但不能加X锁 □共享锁实质:保证多个事务可以同时读A 但在施加共享封锁的事务T释放D上的S锁之前其它各个事务(包括T本身)都不能写D 图2-14所示为X锁和S锁的示意图。 2.5.1 并发控制 2.5.1 并发控制 (3) 三级封锁协议 对数据封锁时需约定一些规则,如:何时申请封锁、持锁时间和什么时间释放封锁等,这就是所谓封锁协议 ① 一级封锁协议: □事务T对数据D进行写操作前,须对D加X锁并保持加锁状态直到事务结束才可释放加在D上的X锁 □一级封锁协议可以防止“修改丢失” 2.5.1 并发控制 ② 二级封锁协议 □事务T 在读取数据D前须先对D 加S锁 □读完之后即刻释放加在D上的S锁。 此封锁方式与一级封锁协议一起构成二级封锁协议 □事务对数据D做写操作时使用X锁,防止了丢失数据 □做读操作时使用S锁,防止了读脏数据 2.5.1 并发控制 ③ 三级封锁协议 事务T在对数据D读之前须对D加S锁,直到事务结束才释放D上S锁。此方式与一级封锁协议一起构成三级封锁协议 □由于包含一级封锁协议,防止了丢失修改; □由于包含二级封锁协议,防止了读脏数据; □由于在对数据D做“写”操作时加X锁封锁,做“读”操作时加S锁封锁,这两种锁都直到事务结束后才释放,防止不可重复读。。 2.5.1 并发控制 2. 并发控制的标准 (1)可串行化调度 □多事务并发执行基于各事务中的操作“交错”执行 □每一种交错方式(序列)称为并发执行的一种调度方式 □并发执行的调度方式非常之多 □DBMS对并发事务不同的调度可能会产生不同的结果 □明确那种方式“正确”和那种方式“不正确”非常必要 (所谓的正确就是期望的执行结果) 2.5.1 并发控制 □多个事务“顺序”即“串行”执行结果总是合理的 □以多事务串行执行作为并发调度正确性的评判标准 □可串行化(Serializable)调度: 多个事务并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。 可串行性(Serializability)是并发事务正确调度的准则,一个给定的并发调度,当且仅当它是可串行化的,才被认为是正确的调度。 2.5.1 并发控制 (2)两段封锁协议 两段封锁协议(Two-Phase Locking, 2PL): 要求所有事务必须分两个阶段对数据项加锁和解锁从而保证了由其产生的并发调度是可串行化的。 在2PL中,事务的封锁分为两个阶段 3. 活锁与死锁 活锁:系统可能使某个事务永远处于等待状态,无封锁机会(类似饥饿) 死锁:若干个事务处于等待状态,相互等待对方释放封锁 2.5.1 并发控制 □阶段1:获得封锁(扩展阶段) 事务可以申请获得任何数据项上的任何类型的锁但不能释放任何锁。 □阶段2:释放封锁(收缩阶段) 事务可以释放任何数据项上的任何类型的锁但不能再申请任何锁 2.5.1 并发控制 数据库故障恢复 把数据库从错误状态恢复到某一已知正确状态(一致状态或完整状态) 1.数据库故障类型 数据库故障:事务级故障、系统级故障和介质级故障 (1)事务级故障 事务内部故障多是非预期,不能由应用程序处理,如运算溢出、并发事务发生死锁而被选中撤销该事务和违反某些完整性限制等 事务故障恢复策略:撤消事务(UNDO) 2.5.2 故障恢复 (2)系统级故障 (软故障) 造成系统停止运转的任何事件,使得系统需要重新启动,如整个系统正常运行突然被破坏、所有正在运行事务都非正常终止等。 特征:不破坏数据库但内存中数据库缓冲区的信息全部丢失。 (3)介质级故障(硬故障) 外存故障,如磁盘损坏、磁头碰撞、操作系统某种潜在错误和瞬时强磁场干扰等 2.5.2 故障恢复 2. 故障恢复技术 就是冗余技术,即利用存储在
您可能关注的文档
- 数字示波器使用实验操作指导讲述.doc
- 大学计算机系上机考试题及其答案精要.doc
- ABB机器人高级编程指令解读.ppt
- 9第九章汽车电路图识读解读.ppt
- 数字电路实验指导书(14级数计软工)讲述.doc
- 数字电路逻辑设计实验讲述.doc
- Abaqus6.10经典从入门到精通培训教程PPT解读.ppt
- 大学计算机基础第5章Office办公软件精要.ppt
- 大学计算机考试客观题——填空题精要.doc
- Abaqus最全、最经典中文培训教程解读.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)