数据库管理——数据库的恢复

数据库的恢复算法

目录:数据库

1.定义spa

2.存储器结构日志

3.恢复的基本原则和实现方法队列

4.故障类型和恢复方法事件

5.检查点技术事务

 

1.定义内存

系统能把数据库从被破坏、不正确的状态恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢复性(Recovery)。input

2.存储器结构it

1.存储器的类型

易失性存储器:指内存。cashe存储器。系统发生故障时,存储的信息当即丢失,可是访问速度很是快。

非易失性存储器:指磁盘和磁带。系统发生故障时,存储的信息不会丢失。如发生存储器自己的故障,会致使信息的丢失。它的访问速度要比易失性存储器慢几个数量级。

稳定存储器:理论上的概念。存储器在稳定存储器中的信息是毫不会丢失的。这能够经过对非意识形态存储器进行技术处理,达到稳定存储器的目标。

2.稳定存储器如何实现?

能够经过数据备份数据银行方法,实现稳定存储器的目标。

3.数据访问

数据在磁盘上以称为“块”的定长存储单位形式组织。块是内、外存数据交换的基本单位。磁盘中的块称为“物理块”,内存中临时存放物理块内容的块称为“缓冲块”,全部缓冲块组成了“粗盘缓冲区”。

输入(input)操做:数据从物理块到缓冲块。

输出(output)操做:数据从缓冲块到物理块。

 

还有read和write操做,须要注意这两个操做通常只须要数据块从磁盘到内存的传递。

那何时才会实现从内存到磁盘的传送呢?

①缓冲区管理系统须要内存空间,及内存空间不足。

②DBS但愿改变磁盘中的值。

以上两种状况下,才会执行output操做。

4.恢复与原子性的联系

系统发生故障,内存内容丢失时,为了达到事务的原子性这个目标,必须首先把描述修改的信息输出到稳定存储器中,但此时不修改磁盘中的数据。这个过程知道事务的COMMIT操做为止。“日志”技术可实现这个过程。

3.恢复的基本原则和实现方法

数据库的恢复,意味着要把数据库恢复到最近一次故障前的一致性状态。

要使数据库具备可恢复性,基本原则很简单,就是“冗余”,即数据库重复存储。

数据库恢复的具体实现方法以下:

1.平时作好两件事:转储和创建日志

2.一旦发生数据库故障,分两种状况处理:

①若是数据库遇到灾难性故障,例如,磁盘脱落,磁盘损坏等,这时数据库已不能用了,就必须装入最近一次的数据库备份到新的硬盘,而后利用日志库“重作”(REDO)已提交的事务,把数据库恢复到故障前的状态。

②若是数据库未遭到物理性破坏,但破坏了数据库的一致性(某些数据不正确),此时没必要去复制存档的数据库,只要利用日志库“撤销”(UNDO)全部不可靠的修改,再利用日志库的“重作”(REDO)已提交的、但对数据库的更新可能还留在内存缓冲区的事务,就能够把数据库恢复到正确的状态。

4.故障类型和恢复方法

在DBS引入事务的概念之后,数据库的故障具体体现为事务执行的成功与失败,常见故障可分为三类:

1.事务故障

①能够预期的事务故障:如存款余额透支,执行UNDO。

②非预期的事务故障:如内存溢出,执行UNDO。

2.系统故障

引发系统中止运转随之要求从新启动的事件称为系统故障。例如,硬件故障,软件错误,掉电等。

形成主存丢失,但不破坏数据库。

从新启动后,具体处理分两种状况考虑:

①对未完成事务做UNDO处理。

②对已提交事务但更新还留在缓冲区的事务进行REDO处理。

3.介质故障

在发生介质故障和遭受病毒破坏时,磁盘上的物理数据库遭到毁灭性破坏。恢复过程以下:

①重装最近转储的后备副本到新的硬盘。

②在日志中找出最近转储之后全部已提交的事务。

③对这些已提交的事务进行REDO处理。

事务故障和系统故障的恢复由系统自动进行,而介质故障的恢复须要DBA(Administrator)配合执行。在实际中,系统故障一般称为软故障,介质故障一般称为硬故障。

 

5.检查点技术

1.检查点方法

在DBS运行时,DBMS定时设置检查点。在检查点时刻才真正作到把对DB的修改写到磁盘,并在日志文件写入一条检查点记录(以便恢复时使用)。当DB须要恢复时,只有那些在检查点后面的事务须要恢复。

①事务T1没必要恢复。

②事务T2和T4必须作(REDO),由于他们commit的信息存在内存缓冲区中,还未写到磁盘。

③事务T3和T5必须撤销(UNDO),由于它们还未作完,必须撤销事务已对DB作的修改。

2.检查点方法的恢复算法

采用检查点方法的基本恢复方法分红两步。

1.根据日志文件创建事务重作队列和事务撤销队列。

2.对重作队列中的事务进行REDO处理,对撤销队列中的事务进行UNDOchu8loi。

相关文章
相关标签/搜索