- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工程科技]第六章数据库恢复技术
学习内容 7.1 事务的基本概念及其特性 7.2 数据库恢复的基本概念 7.3 数据库恢复的实现技术 7.4 数据库恢复的基本策略 7.5 数据库镜像的基本概念 绪论 7.1 事务的基本概念及其特性 7.1.1 事务的基本概念 7.1.2 事务的ACID特性 7.1.3 事务的状态 7.1.4 事务ACID特性的实现 7.1.1 事务的基本概念 事务定义 事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位 例如银行转帐 SQL中事务的定义 事务以Begin transaction开始,以Commit work或 Rollback work结束 Commit work表示提交,事务正常结束 Rollback work表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态 7.1.1 事务的基本概念 示例 银行转帐:事务T从A帐户过户50¥到B帐户 T: read(A); A := A – 50; write(A); read(B); B := B + 50; write(B); read(X):从数据库传送数据项X到事务的工作区中 write(X):从事务的工作区中将数据项X写回数据库 7.1.2 事务的ACID特性 事务特性(ACID) 原子性(Atomicity) 事务中包含的所有操作要么全做,要么全不做 原子性由恢复机制实现 一致性(Consistency) 事务的隔离执行必须保证数据库的一致性 事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态 数据库的一致性状态由用户来负责,由并发控制机制实现 如银行转帐,转帐前后两个帐户金额之和应保持不变 7.1.2 事务的ACID特性(续) 隔离性(Isolation) 系统必须保证事务不受其它并发执行事务的影响 对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行 隔离性通过并发控制机制实现 持久性(Durability) 一个事务一旦提交之后,它对数据库的影响必须是永久的 系统发生故障不能改变事务的持久性 持久性通过恢复机制实现 7.1.3 事务的状态 活动状态:事务执行时所处于的状态 部分提交状态:最后一条语句被执行后 失败状态:发现正常的执行不能继续后 中止状态:事务回滚并且数据库已被恢复到事务开始执行前的状态后 提交状态:事务成功完成后 7.1.4 事务ACID遭破坏的因素 7.2 数据库恢复的基本概念 7.2.1 事务内部故障 逻辑错误 事务由于某些内部条件无法继续正常执行 如:非法输入、找不到数据、溢出等 系统错误 系统进入一种不良状态(如死锁),使事务无法继续正常执行 此时数据库中的数据处于非一致状态 7.2 数据库恢复的基本概念 7.2.2 系统故障 7.2 数据库恢复的基本概念 7.2.3 介质故障 7.3 数据库恢复的实现技术 冗余技术是数据库恢复的保障 建立数据的冗余 数据转存 登录日志文件 多数据库分别存储 利用冗余数据,重建数据,使其达到一致的状态 7.3.1 数据转储 1. 定义 DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 副本 2. 实现 7.3.1 数据转储 3. 分类 时机 静态转储:在系统中无事务时进行的转储操作。 动态转储:在转储期间允许对数据库进行存取或修改。 需要把动态转储期间各事务对数据库的修改活动登记 下来,建立日志文件 内容 海量转储:每次转储全部数据库。 增量转储:每次只转储上一次转储后更新过的数据。 7.3.2 日志 1. 定义 日志文件是用来记录事务对数据库的更新操作的文件 2. 格式和内容 以记录为单位 以数据块为单位 7.3.2 日志(续) 3. 内容 以记录为单位 事务标识(标明是哪个事务) 操作的类型(插入、删除、修改) 操作对象(记录内部标识) 更新前数据的旧值(对插入操作而言,此项为空值) 更新后数据的新值(对删除操作而言,此项为空值) 以块为单位 事务标识 更新前后的块的内容 7.3.2 日志(续) 4. 作用 事务故障恢复和系统故障恢复 在动态转储方式中必须建立日志文件,协助后备副本进行介质故障恢复 7.3.2 日志(续) 4. 作用 静态转储的数据虽然已是一致性的数据,但是如果静态转储完成后,仍能定期转储日志文件,则在出现介质故障重装数据副本后,可以利用这些日志文件副本对已完成的事务进行重做处理,这样不必重新运行那些已完成的事务程序就可把数据库恢复到故障前某一时刻的正确状态。
文档评论(0)