《数据库管理及应用》课程电子教案(PPT课件)5.03 Execution and Recovery of Update Transaction 更新事务的执行与恢复

5.03 Execution and recovery of update transaction 更新事物的执行和恢复
1 5.03 Execution and recovery of update transaction 更新事物的执行和恢复

更新事务执行时 应该遵守2条规则: 1.Commit rule提交规则 后像必须在提交前写入非易失存储器中。 即写入数据库或运行记录中。 原因:ACID准则:提交事务对数据库的影 响应该是持久性
2 更新事务执行时 应该遵守2条规则: 1.Commit rule 提交规则 后像必须在提交前写入非易失存储器中。 即写入数据库或运行记录中。 原因:ACID 准则:提交事务对数据库的影 响应该是持久性

·注意:后像写入运行记录即可提交事务。 只要后像已写入运行记录,后像尚未写入或 未完全写入数据库也可提交事务。待提交后 继续完成写入数据库操作。 此期间如故障,可以用后像redo,若提交后, 写入DB前其他事务访问这些数据,更新数据 仍然在缓存中,自然可访问已经更新的数据
3 ⚫ 注意:后像写入运行记录 即可提交事务。 ⚫ 只要后像已写入运行记录,后像尚未写入或 未完全写入数据库也可提交事务。待提交后 继续完成写入数据库操作。 ⚫ 此期间如故障,可以用后像redo,若提交后, 写入DB前其他事务访问这些数据,更新数据 仍然在缓存中,自然可访问已经更新的数据

2.Log ahead rule 先记后写规则。 若后像在事务提交前写入数据库,则必须先 把前像记入运行记录。 原因:事务提交前,还有可能执行失败卷回, 这时要消除事务对数据库的一切影响。 ● 只要事务未提交,改动数据库前就必须先把 前像写入运行记录。以便执行向后恢复 后像写入数据库时间,有3种更新事务执行方 案
4 2.Log ahead rule 先记后写规则。 ⚫ 若后像在事务提交前写入数据库,则必须先 把前像记入运行记录。 原因:事务提交前,还有可能执行失败卷回, 这时要消除事务对数据库的一切影响。 ⚫ 只要事务未提交,改动数据库前就必须先把 前像写入运行记录。以便执行向后恢复 。 ⚫ 后像写入数据库时间,有3种更新事务执行方 案

1)后像在事务提交前完全写入数据库。 执行的步骤: (1)TID->ATL /事务标识符->活动事务表。 (2) BI->Log /前像->Log(运行记录) (3) Al->DB /提交前,后像完全写入DB,满 足提交规则:B1已入L0G/ (4) TID->CTL //事务标识符->提交事务表 (5)从ATL删除TID //从活动事务表删除该事 务标识符 特点:前像后像都要记。后像必须记;因提交之 前,后像写入数据库,前像也须记
5 1)后像在事务提交前完全写入数据库。 执行的步骤: (1) TID->ATL //事务标识符->活动事务表。 (2) BI->Log //前像->Log(运行记录) (3) AI->DB //提交前,后像完全写入DB,满 足提交规则:BI已入LOG // (4) TID->CTL //事务标识符->提交事务表 (5)从ATL删除TID //从活动事务表删除该事 务标识符 特点:前像后像都要记。后像必须记;因提交之 前,后像写入数据库,前像也须记

当事务执行过程中发生故障,可根据ATL和 CTL情况,采取相应措施: ATL CTL 事务处的状态判断 恢复措施 有 无 步(1)已完成,(4)尚 1.若BI已入iog执行ndo,否则不 执行undo.(Bl未入LOG,AI定 未完成 未入DB) 2.从ATL删除该TD 有 有 步骤(4)已完成 从ATL删除TD即可 无有 步骤(5)已完成 无须任何处理
6 当事务执行过程中发生故障,可根据ATL和 CTL情况,采取相应措施: ATL CTL 事务处的状态判断 恢复措施 有 无 步(1)已完成,(4)尚 未完成 1.若BI已入log执行undo,否则不 执行undo.(BI未入LOG,AI定 未入DB) 2.从ATL删除该TID 有 有 步骤(4)已完成 从ATL删除TID即可 无 有 步骤(5)已完成 无须任何处理

2)后像在事务提交后才写入数据库。 执行步骤如下: (1)TID->ATL //事务标识符->活动事务表。 (2)A1->Log /后像入运行记录/提交规则// (3)TID->CTL //事务标识符->提交事务表DB //后像写入DB, (5)从ATL删除TID/从活动事务表删除该事务标 识符。 特点:前像可以不记。在后像中做事务,直至提交, 然后才去修改数据库
7 2)后像在事务提交后才写入数据库。 执行步骤如下: (1)TID->ATL //事务标识符->活动事务表。 (2)AI->Log //后像入运行记录 //提交规则// (3)TID->CTL //事务标识符->提交事务表DB //后像写入DB, (5)从ATL删除TID //从活动事务表删除该事务标 识符。 特点:前像可以不记。在后像中做事务,直至提交, 然后才去修改数据库

。方式2的恢复措施: ATL CTL 事务处的状态判断 恢复措施 有 无 步(1)已完成,(3)尚 从ATL删除该TD 未完成 有 有 步骤(3)已完成,(5) 1.redo; 未完成 2.从ATL删除该TD 无 有 步骤(5)已完成 无须任何处理
8 ⚫ 方式2的恢复措施: ATL CTL 事务处的状态判断 恢复措施 有 无 步(1)已完成,(3)尚 未完成 从ATL删除该TID 有 有 步骤(3)已完成;(5) 未完成 1.redo; 2.从ATL删除该TID. 无 有 步骤(5)已完成 无须任何处理

讨论: 方案1:似乎不要AI;这是只从事务执行的成 败,而数据库不遭破坏的情况下的结论 如果数据库破坏,恢复主要靠后像才行。所 以三种方案无论在步骤中列出与否,后像均要 记入运行记录。 各方案在数据库原地恢复时都要undo或redo. 若不做undo也不做redo方案.则必须用异地更 新方案。即影子存储的事务执行方案
9 讨论: ⚫ 方案1:似乎不要AI;这是只从事务执行的成 败,而数据库不遭破坏的情况下的结论. 如果数据库破坏,恢复主要靠后像才行。所 以三种方案无论在步骤中列出与否,后像均要 记入运行记录。 ⚫ 各方案在数据库原地恢复时都要undo或redo. ⚫ 若不做undo也不做redo方案.则必须用异地更 新方案。即影子存储的事务执行方案

3)后像在事务提交前后写入数据库。 执行步骤如下: (1)TID->ATL/事务标识符 事物活动表 (2)AI,B1->Log/前像、后像入运行记录 (3)Al -DB (开始,部分提交) (4)TID -CTL (5)Al -DB (6)从ATL删除TID。 10
10 3)后像在事务提交前后写入数据库。 执行步骤如下: (1)TID->ATL //事务标识符 事物活动表 (2)AI,BI -> Log //前像、后像入运行记录 (3)AI -> DB (开始,部分提交) (4)TID -> CTL (5)AI -> DB (6)从ATL删除TID
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据库管理及应用》课程电子教案(PPT课件)5.01 Transaction Management 事务管理.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.05 DBMS 数据库管理系统.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.04 DBMS 数据库管理系统.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.03 Logical structures of Database 数据库的逻辑结构.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.02 Access_path Based Query Optimization 基于存取路径的查询优化.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.01 Optimitation of Query 查询优化.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.07 QBE Language QBE数据库语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.06 Dynamic SQL 动态SQL.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.05 Embedded SQL 嵌入式SQL.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.04 QL and DML in SQL SQL中的查询语言和现代语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.03 DDL 数据定义语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.02 SQL Introduction & DDL SQL 查询语言入门和 DDL)(SQL:结构化查询语言,DDL:数据定义语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.01 Data Manipulation languages 数据操纵语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.03 Tuple&Domain Relation Calculus 元组和域关系演算.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.02 Relation Calculus 关系运算.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.01 data Model of Database 数据库的数据模型.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)1.02 Data Description of real world 真实世界的数据描述.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)1.01 Database 数据库.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)0.0 Development History for Database.ppt
- 沈阳航空航天大学:自动化学院《计算机控制技术》课程教学大纲.pdf
- 《数据库管理及应用》课程电子教案(PPT课件)5.04 Concurrent Control Introduction 并发控制引论.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.05 Locking Protocol 加锁协议.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.06 Examination dead lock 死锁的检测.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.07 concurrent control Based time stamp 基于时间标记的并发控制技术.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.08 Multiple Granularity Locking 多粒度封锁.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.09 Concurrent Control Based Time Stamp 基于时间标记的并发控制技术.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.01 Dependency of Data 数据库相关性.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.02 Armstrong 公理体系.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.03 Introduction to Normal Form of relation 关系规范化导论.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.04 Normal Form of Relation 关系规范化.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第一章 绪论(主讲人:徐沛娟).ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第七章 图.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第三章 线性表.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第八章 排序.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第二章 面向对象程序设计与C++语言.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第五章 数组、字符串、集合类.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第六章 树.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第四章 栈和队列.ppt
- 吉林大学:《Windows程序设计》课程电子教案(PPT课件)Windows程序设计教学课件(1/2,主讲人:翟慧杰).ppt
- 吉林大学:《Windows程序设计》课程电子教案(PPT课件)Windows程序设计教学课件(2/2,主讲人:翟慧杰).ppt