数据库系统原理 课件 第9章 数据恢复.pptx

数据库系统原理 课件 第9章 数据恢复.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第9章数据恢复故障管理建立冗余数据数据转储日志文件恢复技术恢复技术恢复策略检查点机制1

9.1故障管理事务故障系统故障介质故障病毒故障2

1.事务故障3事务故障:运行的事务T遭到强行终止,使T非正常结束。不难看出,事务故障破坏了事务的原子性,从而导致数据不一致。事务运行正常结束的如下情况,否则属于非正常结束(即:事务故障):(1)从BEGINTRANT开始,直到COMMITTRANT结束。(2)从BEGINTRANT开始,直到ROLLBACKTRANT结束。即:执行COMMITTRANT之后,T的运行结果永远生效。即:“保”持久性。执行ROLLBACKTRANT之后,则回滚T。即:“保”原子性。事务故障难于预料,原因主要包括应用程序出错、运算溢出、破坏了数据完整性约束和并发事务死锁等。对于事务故障,DBMS的恢复子系统会自动强行撤销事务(UNDO),并对其执行回滚(ROLLBACK)操作。

2.系统故障4系统故障(软故障):导致系统停止运转的任何事件。系统故障需要重新启动系统。系统故障的原因:计算机硬件故障(CPU、内存或电源等)、操作系统故障、DBMS故障和停电等。显然,系统故障会强行终止所有正在运行的事务,从而破坏数据库。对于系统故障,DBMS的恢复子系统在系统重新启动时,强行撤销(UNDO)所有未完成事务,回滚(ROLLBACK)所有终止的事务;重做(REDO)所有已提交的事务。

3.介质故障5介质故障(硬故障):导致外存储设备故障的任何事件。介质故障的原因:磁盘故障、磁带故障和光盘故障等。介质故障会破坏数据库,并影响正在存取数据库的所有事务。介质故障较少发生,但是一旦发生破坏性很大。

4.病毒故障6计算机病毒(ComputerVirus):编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。感染计算机病毒后,轻则影响运行速度,使机器不能正常运行;重则瘫痪机器,破坏硬件、软件和数据,带来不可估量的损失。病毒故障:计算机病毒导致的故障。计算机病毒已经成为计算机系统和数据库系统的主要威胁,并且会破坏数据库。

9.2建立冗余数据数据恢复的核心技术:建立冗余数据和利用冗余数据实施数据库恢复。建立冗余数据的技术:数据转储和登记日志文件等。数据转储日志文件7

9.2.1数据转储8数据转储:DBA定期地把整个数据库复制到磁盘、磁带或光盘等外存。目的是建立后备副本(冗余数据),以备数据恢复时使用。数据转储设备:磁盘阵列、磁带库和光盘塔等。数据转储分类:静态海量转储、静态海量转储、动态增量转储和动态增量转储(如表9.1所示)等。方式状态海量转储增量转储静态转储静态海量转储静态增量转储动态转储动态海量转储动态增量转储

9.2.1数据转储91.静态转储静态转储:在无事务运行时,进行数据转储。即:数据转储期间不能访问数据库。数据转储与事务不能同时执行。优点:方法简单;后备副本与数据库完全一致。缺点:转储必须在所有事务运行结束之后才能进行,从而降低并发度。2.动态转储动态转储:在有事务运行时,进行数据转储。即:数据转储期间允许更新数据库。数据转储与事务可以同时执行。优点:数据转储期间允许访问数据库,数据转储与并发事务共存,从而提高并发度。缺点:后备副本与数据库可能不一致,可能部分破坏数据一致性。

9.2.1数据转储103.海量转储海量转储:转储数据库的全部数据。优点:备份简单,恢复方便。缺点:转储时间较长,需要较多的转储空间。4.增量转储增量转储:只转储上一次转储后更新的数据。优点:节省转储时间和转储空间,实用有效。缺点:备份和恢复较为复杂。

9.2.1数据转储11例如:对于中小型数据库使用海量转储比较方便;对于大型数据库使用增量转储会更实用有效。数据转储比较耗费时间和资源,不建议频繁使用,DBA应该根据实际需要合理的选择数据的转储周期和转储方法。例如:对蓝天证券的交易数据库进行数据转储的策略:每天下午6点进行动态增量转储,每周进行一次动态海量转储,每月进行一次静态海量转储。在系统运行过程中,一旦数据库遭到破坏,则需要装入后备副本,把数据库恢复到一致状态,实现数据库的恢复,从而把损失降到最低。

9.2.2日志文件12结论:静态转储只能保证后备副本与转储时间点之前的数据库保持一致,而转储时间点之后的数据库更新将会丢失。而动态转储的后备副本与数据库本身可能会不一致,所以直接重装也会出现数据的不一致。所以,仅仅使用数据转储,通常无法确保数据库的全部恢复。因此,在动态转储期间,需要把事务对数据库的更新操作进行登记,建

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档