- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[数据库的恢复
浅谈企业网数据库故障的恢复
数据库在企业网站的建设中是必不可少的,数据库具有数据结构化,数据独立性,易于编制程序等优点,在数据库中,尽管我们采取了各种保护措施来防止数据库的安全性和完整性被破坏,但计算机系统中硬件的故障,软件的错误,操作员的失误以及恶意破坏等现象仍是不可避免的。这些故障轻则造成运行事务非正常中断,重则破坏数据库,使数据全部或部分丢失。
企业网的数据库中可能发生的故障大概有这样几种:
事务内部的故障
事务内部故障可分为预期的和非预期的,其中大部分的故障都是非预期的。预期的事务内部故障是指可以通过事务程序本身发现的事务内部故障;非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障、并发事务发生死锁故障、违反了某些完整性限制而导致的故障等。事务故障仅仅指这类非预期的故障。
事务内部故障意味着事务运行没有达到预期的终点,未能成功地提交事务,使数据库处于不正确状态。事务内部故障有的可以通过事务程序本身发现,是可预期的故障,但更多的是不可预期的故障,此时,数据库可能出于不正确的状态。恢复程序要在不影其他任何事务运行情况下,强行回滚该事务,即撤销该事务已经做出的任何对数据库的修改,使得该事务好像根本没有启动一样,这类操作叫做事务撤销。
系统故障
系统故障也称为软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电灯情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要系统重新启动的一类故障。这类事务不破坏数据库,但是影响正在运行的所有事务。这时数据库缓冲区中的内容都丢失,所有运行事务都非正常终止。
在发生系统故障时候,有些已经完成的事务可能有一部分或许会全部留在缓冲区,尚未写到磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或者全部丢失,因此应将这些事务已提交的结果重新写入数据库中。
介质故障
介质故障通常称为硬故障,指数据库在运行过程中,由于磁盘损坏、天灾人祸等情况,使用数据库中的数据部分或全部丢失的一类故障;
计算机病毒
计算机病毒故障是一种恶意的,人为的故障活破坏,它可以像病毒一样繁殖和传播,在对计算机系统造成破坏的同时也可能对数据库系统造成破坏。病毒的种类有很多,不同病毒有不同的特征,小一点的病毒或者只有20条指令,大的计算机病毒像一个操作系统一样有成千上万条指令组成。病毒传播的速度很快,一旦侵入,马上就会摧毁整个系统,有的病毒还有好长的潜伏期,感染后数月才发作。
计算机病毒已经成为计算机系统的主要威胁,也是数据库系统的主要威胁,为此,计算机的工作者已经研制出了许多预防病毒的方法,通过检查,诊断,消灭计算机中的病毒软件,但是还没有一种软件可以让计算机终身免疫,因此数据库也不能避免中毒。
总结数据库的各种故障,对数据库的影响有两种:一是数据库本身被破坏,二是数据库没有被破坏,但是数据可能不正确,这是由于事务的运行被非正常终止造成的。数据库的恢复原理就是:冗余。也就是说,数据库中任何一部分被破坏的或不正确的数据可以根据存储在数据库中别处的冗余数据来重建。原理虽然简单,但是现实操作技术细节却十分的复杂,下面就具体谈论一下数据库的恢复技术。
建立冗余数据最常用的两种技术是数据转储和登录日志文件,在同一个数据库中,这两种方法通常是一起使用的。
数据转储是数据库恢复中采用的基本技术,所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据库遭到破坏后可以将后备副本重新装入将数据库恢复到转储时的状态再重新运行自转储以后的所有更新事务就可把数据库恢复到故障发生前的一致状态。转储是十分耗费时间和资源的不能频繁进行。DBA应该根据数据库使用情况确定一个适当的转储周期。
转储可分为静态转储和动态转储。静态转储是在系统中无运行事务时进行的转储操作。即转储操作开始的时刻数据库处于一致性状态而转储期间不允许或不存在对数据库的任何存取、修改活动。显然静态转储得到的一定是一个数据一致性的副本。静态转储简单但转储必须等待正运行的用户事务结束才能进行同样新的事务必须等待转储结束才能执行。显然这会降低数据库的可用性。动态转储是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。动态转储可克服静态转储的缺点它不用等待正在运行的用户事务结束也不会影响新事务的运行。但是转储结束时后援副本上的数据并不能保证正确有效。为此必须把转储期间各事务对数据库的修改活动登记下来建立日志文件。这样后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看使用海量转储得到的后备副本进行恢复一般说来会更方便些
文档评论(0)