浅议集中式数据库事务恢复机制.doc

浅议集中式数据库事务恢复机制.doc

ID:59405973

大小:47.50 KB

页数:4页

时间:2020-05-27

浅议集中式数据库事务恢复机制.doc_第1页
浅议集中式数据库事务恢复机制.doc_第2页
浅议集中式数据库事务恢复机制.doc_第3页
浅议集中式数据库事务恢复机制.doc_第4页
资源描述:

《浅议集中式数据库事务恢复机制.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅议集中式数据库事务恢复机制【摘要】集中式数据库系统由一个处理器、与它相关联的数据存储设备以及其他外围设备组成,它被物理地定义到单个位置。系统提供数据处理能力,用户可以在同样的站点上操作,也可以在地理位置隔开的其他站点上通过远程终端来操作,系统及其数据管理被某个或中心站点集中控制,本文探讨了集中式数据库的事务恢复机制。【关键词】集中式数据库;事务恢复;机制一、事务恢复事务是数据库管理系统(DBMS)的执行单位,事务应满足ACID(原子性,一致性,隔离性,持久性)准则。保证事务在故障时满足ACID准则的技术称为恢复。要恢复

2、丢失的数据,数据必须有后备的复本。对于恢复,数据冗余是必需的。恢复技术大致分为下列三种:一是单纯以后备复本为基础的恢复技术。即周期性地把磁盘上的数据库转储(dump)到磁带上,磁带上的数据库复本称为后备复本。二是以后备复本和运行记录(log或journal)为基础的恢复技术。运行记录是供恢复用的数据库运行情况的记录。三是基于多复本的恢复技术。如果系统中有多个数据库复本,而且这些复本具有独立的失效模式(指各个复本不致因同一故障而一起失效),则可利用这些复本互为备份,用于恢复。近来由于硬件价格下降,在某些可靠性要求高的系统中

3、,采用镜像磁盘技术,即数据库以双复本的形式存于两个独立的磁盘系统中。由于第二种恢复技术在数据库系统中用得最多,大部分商品化的DBMS都支持这种恢复技术,以下我们对这种恢复技术进行详细介绍。二、基于运行记录的恢复技术运行记录是供恢复用的数据库运行情况的记录。一般包括下列三个内容:一是前像(beforeimage,BI)。当数据库被一个事务更新时,所涉及的物理块更新前的映像(image)称为该事务的前像。前像以物理块为单位。有了前像,如果需要,可以使数据库恢复到更新前的状态,即撤消更新,这种操作在恢复技术中称为撤消(undo

4、)。二是后像(afterimage,AI)。当数据库被一个事务更新时,所涉及的物理块更新后的映像(image)称为该事务的后像。后像以物理块为单位。有了后像,即使更新的数据丢失了,仍可以使数据库恢复到更新后的状态,相当于重做一次更新,这种操作在恢复技术中称为重做(redo)。三是事务状态。记录每个事务的状态,以便在恢复时做不同的处理。每个事务从交付DBMS到结束为止,每个事务有两种可能的结局:一是经提交(commit)而结束,这标志着事务已成功地执行(这相当于all),只有在事务提交后,事务对数据库的更新才能被其它事务访

5、问;另一结局是由于事务本身或外部的原因,事务失败,要消除事务对数据库的影响(这相当于nothing)0对事务的这种处理称为卷回(rollback或abort)o对恢复来说,不必记每个状态,但是至少要区分出一个事务是提交的,还是未提交的。当数据库失效时,可取出最近后备复本,然后根据运行记录,对未提交的事务用前像卷回,这叫向后恢复(backwardrecovery);对已提交的事务,必要时用后像重做,这叫向前恢复(forwardrecovery)o用这种恢复技术,必须有运行记录。三、运行记录的结构下面列出运行记录中的一些基本

6、内容,实际DBMS的运行记录还可能包括若干其它细节,具体结构也不一定相同:其一,活动事务表。活动事务表(activetransactionlist,简称为ATL)记录所有正在执行,尚未提交的事务的标识符(transactionidentifier,简称TID)O其二,提交事务表。提交事务表(committedtransactionlist,简称CTL)记录所有已提交的事务的标识符。如果先从活动事务表中删除TID,再将TID加入提交事务表,则可能冒如下的危险:即TID刚从活动事务表中删除后,该事务的状态在系统中将无任何记录

7、。其三,前像文件。前像文件可以看成一个堆文件,每个物理块有个块标识符(blockidentifier,简称BID)。设BID由TID、关系名和逻辑块号所组成,其中TID表示执行更新操作的事务,关系名表示被更新的关系,逻辑块号表示该块是关系中哪块的前像。逻辑块号在关系中是唯一的,即使一个块被删除了,它的逻辑块号也不允许重新使用。必须注意:undo操作是满足幕等(idempotent)性的,即undo(undo(undo••-(x)))=undo(x)o因此,即使数据库中的某块还没有来得及更新,在恢复时对它做一次undo操作

8、也无妨,无非在这一块上写入同样的内容而已。其四,后像文件。结构与前像文件相仿,不过其中记的是后像。在恢复时,可按提交事务表中的事务次序,按逻辑块号写入其后像。这相当于按提交的次序,重做各个事务°Red。操作也满足慕等性。参考文献[1]简云松.数据库恢复技术探讨[J].软件导刊.2008(8)[2]林烈青.基于事务日志

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。