介质故障又叫硬故障,是由于硬件的可靠性较差而出现的存储介质发生物理损坏,造成数据库的数据全部或部分丢失。
简介系统故障常称为软故障( Soft crash),介质故障称为硬故障( Hard crash)。硬故障指外存故障,主要有磁盘损坏,磁头碰撞盘面,突然的强磁场干扰,数据传输部件出错,磁盘控制器出错等。1
影响介质故障是由于硬件的可靠性较差而出现的存储介质发生物理损坏,造成数据库的数据全部或部分丢失,破坏性较大。一般来说,系统故障只是破坏了易失存储器中的数据,而介质故障是破坏了非易失存储器中的数据。
介质故障比事务故障和系统故障发生的可能性小得多,但破坏性很大。这类故障将破坏数据库本身,影响到出故障前存储数据库的所有事务。2
介质故障恢复介质故障在所有的故障中,对数据库系统造成的危害最大,磁盘上的物理数据和日志文件被破坏,这是最严重的一种故障,发生介质故障后,数据库的物理数据和日志记录将被破坏。要恢复介质故障,只能使用基于数据转储的数据恢复技术。恢复时,首先重装数据库,然后重做事务。具体步骤如下:3
(1)装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。对于动态转储的数据库副本,还需同时装入转储开始时刻的日志文件副本,利用恢复系统故障的方法,才能将数据库恢复到一致性状态。2
(2)装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即:首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写人数据库。这样就可以将数据库恢复至故障前某一时刻的一致状态了。
介质故障的恢复需要数据库管理员介入,但数据库管理员只需要重装最近转储的数据库副本和有关的日志文件副本,然后执行系统提供的恢复命令,具体的恢复操作仍由数据库管理系统完成。
本词条内容贡献者为:
闫晓东 - 副教授 - 中央民族大学信息工程学院