请输入您要查询的百科知识:

 

词条 数据库故障恢复
释义

“数据故障恢复”和“完整性约束”、“并发控制”一样,都是数据库数据保护机制中的一种完整性控制。所有的系统都免不了会发生故障,有可能是硬件失灵,有可能是软件系统崩溃,也有可能是其他外界的原因,比如断电等等。运行的突然中断会使数据库处在一个错误的状态,而且故障排除后没有办法让系统精确地从断点继续执行下去。这就要求DBMS要有一套故障后的数据恢复机构,保证数据库能够回复到一致的、正确地状态去。而“数据故障恢复”正是这样一个机构。

所有的数据恢复的方法都基于数据备份。对于一些相对简单的数据库来说,每隔一段时间做个数据库备份就足够了,但是对于一个繁忙的大型数据库应用系统而言,只有备份是远远不够的,还需要其他方法的配合。恢复机制的核心是保持一个运行日志,记录每个事务的关键操作信息,比如更新操作的数据改前值和改后值。事务顺利执行完毕,称之为提交。发生故障时数据未执行完,恢复时就要滚回事务。滚回就是把做过的更新取消。取消更新的方法就是从日志拿出数据的改前值,写回到数据库里去。提交表示数据库成功进入新的完整状态,滚回意味着把数据库恢复到故障发生前的完整状态。

现在举一个银行转帐的例子。从转出账户扣了钱,没来得及写入转入账户就发生故障了。数据库显然处在数据不一致的状态。恢复时就要从日志上把转出帐户余额的改前值找出来,写回到数据库里面去,转账事务就滚回了。账没转成不要紧,待会儿再转一次,但重要的是数据库能够恢复到故障前的正确状态。这样,数据的完整性才得以保持。

在写日志的一刻发生故障,日志的记录并不完整,就不能依靠日志来保持数据库的完整。但是,DBMS有一个控制准则叫做“写日志优先准则”。当数据库执行更新操作时,先把更新信息写进日志里面,然后再更新数据库。所以当写日志系统发生故障时,数据库并没有进行更新,这些数据也就并不需要参与恢复过程。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 7:24:00