数据库系统原理授课教师:吴岩wuyan@hpu.edu.cn2第七章数据库恢复技术7.1事务的基本概念7.2故障的种类7.3恢复的实现技术7.4恢复策略7.5具有检查点的恢复技术7.6数据库镜像数据库系统原理3•学习目标掌握事务的基本概念,了解故障的种类以及对每种不同的故障采取的不同恢复策略;掌握恢复的实现技术;理解事务与数据库恢复和并发控制的关系。•学习重点–恢复的实现技术•数据转储•登记日志文件第七章数据库恢复技术数据库系统原理4第七章数据库恢复技术7.1事务的基本概念7.2故障的种类7.3恢复的实现技术7.4恢复策略7.5具有检查点的恢复技术7.6数据库镜像数据库恢复技术5第一节事务的基本概念事务定义事务事务的特性事务的状态数据库恢复技术6第一节事务的基本概念一、事务•事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是数据库环境中的逻辑工作单位。•一个应用程序通常包含多个事务。•事务是恢复和并发控制的基本单位。数据库恢复技术7二、定义事务•定义事务的两种方式–隐式方式•当用户没有显式地定义事务时,由DBMS按缺省规定自动划分事务。–显式方式•事务的开始由用户显式控制•事务结束由用户显式控制数据库恢复技术事务的基本概念(续)8定义事务(续)1、隐式事务–隐式事务是数据库管理系统为用户而做的事务,又称自动提交事务。例7.1在一个SQL批文件中,向数据表SC中插入数据,每条SQL语句都是一个隐式事务。数据库恢复技术系统在执行第3条插入语句后发现错误,自动回滚。9定义事务(续)2、显式定义事务–显式事务是一种由用户自己指定的事务。这种事务允许用户自己决定哪批工作必须成功完成,否则所有部分都不完成。–事务开始BEGINTRANSACTION–事务结束COMMIT:事务提交,正常结束一个事务,使事务对数据库的更新永久生效。ROLLBACK:事务回滚,撤消该事务已进行的更新,回滚到事务开始的状态。数据库恢复技术10显式事务(续)•例7.2显式事务(回滚):在一个SQL批文件中,若在一个显式事务中删除数据表SC,然后回滚事务,其删除无效。数据库恢复技术11•例7.3显式事务(提交):在一个SQL批文件中,若在一个显式事务中删除数据表SC,然后提交事务,其删除有效。显式事务(续)数据库恢复技术COMMIT无--提交事务,并显示提交后SC表中的记录12三、事务的特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)事务的基本概念(续)数据库恢复技术13事务的特性(续)1、原子性事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。2、一致性事务执行的结果必须是使数据库从一个一致状态变到另一个一致状态。–一致性状态:数据库只包含成功事务提交的结果。–不一致状态:数据库包含失败事务的结果。数据库恢复技术14账户A账户B-10000+10000•定义一个事务,该事务包括两个操作:第一个操作是从帐号A中减去一万元第二个操作是向帐号B中加入一万元•两个操作全做或者全不做,数据库都处于一致性状态。只做一个操作,数据库就处于不一致性状态。例7.4银行转帐:一致性(续)数据库恢复技术15事务的特性(续)3、隔离性一个事务的执行不能被其他事务干扰。4、持续性(永久性)–一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。–接下来的其他操作或故障不应该对其执行结果有任何影响。数据库恢复技术16事务的特性(续)•保证事务ACID特性是事务处理的重要任务,是DBMS中恢复机制和并发控制机制的责任。•破坏事务ACID特性的因素–多个事务并行运行时,不同事务的操作交叉执行•DBMS必须保证多个事务的交叉运行不影响这些事务ACID特性,特别是原子性和隔离性。–事务在运行过程中被强行停止•DBMS必须保证被强行终止的事务对数据库和其他事务没有任何影响。数据库恢复技术17四、事务的状态事务的基本概念(续)数据库恢复技术事务执行时处于的状态事务不能正常执行的状态事务回滚并恢复到事务开始前的状态事务中最后一条语句自动执行后的状态事务成功完成18第七章数据库恢复技术7.1事务的基本概念7.2故障的种类7.3恢复的实现技术7.4恢复策略7.5具有检查点的恢...