学校课件数据库10.pptxVIP

  • 0
  • 0
  • 约2.31千字
  • 约 26页
  • 2022-05-04 发布于北京
  • 举报
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像;10.1事务的基本概念 ; 例P280 银行转账事务:把一笔资金从账户甲转给账户乙。 BEGIN TRANSACTION; 读账户甲的余额BALANCE; BALANCE=BALANCE-AMOUNT;// AMOUNT为转账金额 IF(BALANCE 0)THEN { 打印“金额不足,不能转账”; ROLLBACK; //撤消刚才的修改,回复事务 } ELSE { 读账户乙的余额BALANCE1; BALANCE1=BALANCE1+AMOUNT; 写回BALANCE1 COMMIT; }; 事务的四个特性: 简称ACID ;10.2 数据库恢复 ;10.3 故障种类 ;10.4 恢复的实现技术 ;说明:当数据库遭到破坏后可以将后备副本重新装入,但只能将数据库恢复到转储时的状态。;转储方法分类;b.登记日志文件:用来记录对数据库每一次更新活动的文件称日志文件。即记录数据转储期间各事务对数据库的修改活动。 1、日志文件格式和内容。 ?日志文件格式:以记录为单位和以数据块为单位。 ?记录日志文件内容: ?各个事务的开始标记(BEGING TRANSACTION) ?各个事务的结束标志(COMMIT或ROLLBACK) ?各个事务的所有更新操作。 ?日志记录(log record): 每个事务的开始标记、每个事务的结束标记和每个更新操作均作为日志文件中的一个日志记录。主要包括以下内容: ?事务标识(标明是哪个事务) ?操作的类型(插入、删除或修改) ?操作对象(记录内部标识) ?更新前数据的旧值(对插入操作而言,此项为空值) ?更新后数据的新值(对删除操作而言,此项为空值) ?数据块日志文件的记录内容:事务标识和被更新的数据块。;2、日志文件的作用。主要作用是数据库恢复。 (1)事务和系统故障恢复必须用日志文件。 (2)在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。 (3)在静态转储方式中,也可以建立日志文件。当数据库毁坏后可重新装入后援副本,把数据库恢复到转储结束时刻的正确状态,然后利用日志文件,把已完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤消处理。P284 图10.2 3、日志文件登记原则。 (1)登记的次序严格按并发事务执行的时间次序。 (2)必须先写日志文件,后写数据库。; 静态转储 运行事务 正常运行 ─┼───────┼───────────── Ta    Tb Tf └──────────── 重装后备副本 利用日志文件恢复 继续运行 恢复 ─┼───────┼┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┼────;10.5 恢复策略; (1)正向扫描日志文件(头?后),找出故障发生前已提交的事务,将其事务标识记入重做(REDO)队列。同时找出故障发生时未完成的事务,将其事务标识记入撤消队列。 (2)对撤消队列中的各个事务进行撤消处理。 (3)对重做队列中的各个事务进行重做(REDO)处理。 介质故障的恢复:磁盘上的物理数据和日志文件被破坏,恢复的方法是重装数据库,重做已完成的事务。 (1)装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。 (2)装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。;10.6 具有检查点的恢复技术 ;具有检查点的日志文件和重新开始文件 ;动态维护日志文件的方法:周期性建立检查点和保存数据库状态。其操作步骤如下: (1)将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上; (2)在日志文件中写入一个检查点记录; (3)将当前数据缓冲区中的所有数据记录写入磁盘的数据库中; (4)把检查点记录在日志文件中的地址写入一个新开始文件。;建立检查点;利用检查点的恢复策略;;利用检查点的恢复步骤;3.从检查点开始正向扫描日志文件,直到日志文件结束 如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列 如有提交的事务Tj,把Tj从UNDO-LIST队列移到RE

文档评论(0)

1亿VIP精品文档

相关文档