浅谈数据库恢复技术

2010-08-15 00:52陈益全蔡泽利
科技传播 2010年17期
关键词:副本磁盘检查点

陈益全,蔡泽利

琼台师范高等专科学校信息技术系,海南海口 571100

当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的。但在对数据库应用的过程中,由于人为误操作、人为恶意破坏、系统的不稳定、存储介质的损坏等等原因而影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库使数据库中部分或全部数据丢失,这将带来严重后果。因此,当发生上述情况后,人们希望能重新建立一个完整的数据库,该处理过程称为数据库恢复。

1 事务特性

事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

事务有4个特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做;一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态;隔离性:一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他并发事务是隔离的,同时并发执行的各个事务之间不能互相干扰;持续性:一个一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其执行结果有任何影响。

事务是数据库恢复和并发控制的基本单位。

2 数据库故障的种类及相应的恢复方法

2.1 事务故障

事务故障是指某个事务在运行过程中由于种种原因未运行至正常终止,而此时数据库可能处于不一致状态。发生事务故障时,该事务可能已把对数据库的部分修改写回磁盘。

恢复方法:撤消事务(UNDO)。强行回滚(ROLLBACK)该事务;清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样。

2.2 系统故障

系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。系统故障通常使所有正在运行的事务都非正常终止、内存中数据库缓冲区的信息全部丢失。

恢复策略:1)清除尚未完成的事务对数据库的所有修改。系统重新启动时,恢复程序要强行撤消(UNDO)所有未完成事务;2)将缓冲区中已完成事务提交的结果写入数据库。系统重新启动时,恢复程序需要重做(REDO)所有已提交的事务。

2.3 介质故障

介质故障称为硬故障。硬件故障使存储在外存中的数据部分丢失或全部丢失,比如磁盘损坏、磁头碰撞、瞬时强磁场干扰等。介质故障比前两类故障的可能性小得多,但破坏性大得多。

恢复策略:装入数据库发生介质故障前某个时刻的数据副本;重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。

3 数据库恢复的实现技术

数据库恢复的基本原理是建立冗余数据。

3.1 数据转储

数据转储是指将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务。

3.2 建立日志文件

日志文件(log)是用来记录事务对数据库的更新操作的文件。

日志文件内容包括:各个事务的开始标记、各个事务的结束标记、各个事务的所有更新操作。每个事务开始的标记、每个事务的结束标记和每个更新操作均作为日志文件中的一个记录,每条日志记录的内容

又包括事务标识、操作类型(插入、删除或修改)、操作对象(记录ID、Block NO.)、更新前数据的旧值(对插入操作而言,此项为空值)、更新后数据的新值(对删除操作而言, 此项为空值)。

日志文件的可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障的恢复。

3.3 具有检查点(checkpoint)的恢复技术

这种技术在日志文件中增加一类新的记录——检查点(checkpoint)记录,增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态地维护日志。

使用检查点方法可以改善恢复效率。当事务T在一个检查点之前提交,T对数据库所做的修改一定都已写入数据库,写入时间是在这个检查点建立之前或在这个检查点建立之时。这样,在进行恢复处理时,没有必要对事务T执行REDO操作。

3.4 数据库镜像

数据库管理系统自动把整个数据库或其中的关键数据复制到另一个磁盘上,并自动保证镜像数据与主数据的一致性。出现介质故障时,数据库管理系统自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。

4 结论

故障是不可避免的。我们一定要高度重视系统数据安全工作,防止在出现意外情况时能够最大限度地减少损失。

[1]康懿.基于SQLServer的数据库恢复技术[J].科技信息,2009(29).

[2]龚雄涛.SQLServer数据库恢复技术研究[J].科技信息,2009(27).

[3]周如意.基于检查点的数据库恢复技术[J].沙洲职业工学院学报,2006(2).

猜你喜欢
副本磁盘检查点
Spark效用感知的检查点缓存并行清理策略①
免疫检查点抑制剂相关内分泌代谢疾病
面向流媒体基于蚁群的副本选择算法①
免疫检查点抑制剂在肿瘤治疗中的不良反应及毒性管理
修改磁盘属性
磁盘组群组及iSCSI Target设置
创建VSAN群集
副本放置中的更新策略及算法*
分布式任务管理系统中检查点的设计