- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 数据库恢复技术 任课教师:唐蕾 Email:tanglei_xz@163.com 江苏师范大学计算机与科学技术学院 本章内容概要 一、事务的基本概念 二、故障的种类 三、恢复的实现技术 四、恢复策略 五、数据库镜像 本章教学要求 掌握 事务的概念、特性 数据库恢复技术 日志文件的概念、作用 了解 数据库各类故障 恢复的基本策略 一、事务的基本概念 1.什么是事务 2.如何定义事务 3.事务的特性 事务的提出 1.什么是事务 是用户定义的一个 数据库操作序列 ,这些操作 要么全做,要么全不做 ,是一个不可分割的工作单位。 2.如何定义事务 显式定义方式(SQL语言) BEGIN TRANSACTION:事务开始 COMMIT:提交,事务正常结束 提交事务的所有操作(读+更新)。 事务中所有对数据库的更新永久生效。 ROLLBACK:撤销,事务异常终止 事务运行的过程中发生了故障,不能继续执行。 回滚事务的所有更新操作。 事务回滚到开始时的状态。 一个事务示例 BEGIN TRANSACTION INSERT INTO 学生 VALUES(‘002015111’,’张三’); ‘if any error occurred then go to undo INSERT INTO 选课 VALUES(‘002015111’,’高等数学’,null); ‘if any error occurred then go to undo COMMIT; Go To Finish; Undo: ROLLBACK Finish: Return; 3.事务的特性(ACID特性) 执行的原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 功能上的一致性(Consistency) 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 彼此的隔离性(Isolation) 一个事务的执行不能被其他事务干扰,并发执行的各个事务之间不能互相干扰。 作用的持续性(Durability ) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 破坏事务特性示例 破坏事务特性的因素 多个事务并行运行时,不同事务的操作交叉执行。 二、故障的种类 1.事务内部的故障 2.系统故障 3.介质故障 4.计算机病毒 1.事务故障 什么是事务故障 某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了。 事务故障的常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁 BEGIN TRANSACTION 读账户甲的余额BALANCE; BALANCE=BALANCE-AMOUNT; IF (BALANCE0) THEN { 打印 ‘金额不足不能转账’; ROLLBACK; (撤销刚才的修改,恢复事务,’ UNDO’) } ELSE { 读账户乙的BALANCE1; BALANCE1=BALANCE1+AMOUNT; 写回BALANCE1; COMMIT; } 事务故障的恢复 发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘,因此,数据库可能处于不正确状态。 恢复程序要在不影响其它事务运行的情况下,强行回滚ROLLBACK)该事务,即撤销该事务对数据库的所有修改,使得这个事务象根本没有启动过一样。 这类恢复操作称为事务撤消(UNDO)。 2.系统故障 什么是系统故障 整个系统的正常运行突然被破坏。 所有正在运行的事务都非正常终止。 内存中数据库缓冲区的信息全部丢失。 外部存储设备上的数据未受影响。 系统故障常见原因 操作系统或DBMS代码错误。 操作员操作失误。 特定类型的硬件错误(如CPU故障)。 突然停电。 系统故障的恢复 清除尚未完成的事务对数据库的所有修改 系统重新启动时,恢复程序要强行撤消(UNDO)所有未完成事务。 将缓冲区中已完成事务提交的结果写入数据库 系统重新启动时,恢复程序需要重做(REDO)所有已提交的事务。 3.介质故障 介质故障的常见原因 磁盘损坏 磁头碰撞 操作系统的某种潜在错误 瞬时强磁场干扰 介质故障的影响 硬件故障使存储在外存中的数据部分丢失或全部丢失。 并影响正在存取这部分数据的所有事务。 介质故障的恢复 装入数据库发生介质故障前某个时刻的数据副本。 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。 三、恢复的实现技术 1
文档评论(0)