暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓数据库KingbaseES 故障恢复相关的理论汇总

原创 数据猿 2024-01-16
340


金仓数据库KingbaseES 故障恢复相关的理论汇总

关键字:

KingbaseES、 故障恢复、人大金仓、KingbaseES

数据库管理系统对故障的对策

DBMS提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要么全部完成,要么全部不做。事务的原子性和持久性跟恢复子系统密切相关。

A事务的原子性:

事务提交,事务中的操作全部完成

事务回滚,事务中的操作全部不做

D事务的持久性:

所有提交事务的操作结果永久保存

故障的种类:

  • 事务故障:

定义:某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了

处理:返回用户一个错误信息,应用程序应该捕获错误,并进行相应的错误处理。发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。

恢复:事务撤消(UNDO);恢复程序要在不影响其它事务运行的情况下,强行回滚(ROLLBACK)该事务,即清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样。

  • 系统故障

定义:由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。

影响:发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响

常见原因: 操作系统或DBMS代码错误;操作员操作失误;特定类型的硬件错误(如CPU故障);突然停电

恢复:1. 清除尚未完成的事务对数据库的所有修改

如果DBMS无法确定哪些事务已更新过数据库,则系统重新启动后,恢复程序要强行撤消(UNDO)所有未完成事务,使这些事务象没有运行过一样。

2. 将缓冲区中已完成事务提交的结果写入数据库

如果DBMS无法确定哪些事务的提交结果尚未写入物理数据库,则系统重新启动后,恢复程序需要重做(REDO)所有已提交的事务。

系统故障通常在系统下次启动时自动恢复。

  • 介质故障

定义:硬件故障使存储在外存中的数据部分丢失或全部丢失

介质故障比前两类故障的可能性小得多,但破坏性最大

常见原因:硬件故障;磁盘损坏;磁头碰撞;操作系统的某种潜在错误;

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

Wal日志协议

1)数据页的每个修改都应该生成日志记录,并且在数据页面刷到磁盘之前,其对应的日志记录必须先刷到持久化的日志设备上

2)数据库的日志记录必须顺序刷出到设备上

3)事务的提交是以该事务的日志记录刷到磁盘上来界定

模式和拷贝模式。也可以使用非排他模式,和拷贝模式。

系统故障的恢复步骤

1. 正向扫描日志文件(即从头扫描日志文件)

找出在故障发生前已经提交的事务,将事务标识记入重做队列

同时找出故障发生时尚未完成的事务,将事务标识记入撤消队列

2. 对撤消队列中的各个事务进行撤消(UNDO)处理

反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库

3. 对重做队列中的各个事务进行重做(REDO)处理

正向扫描日志文件,对每个REDO事务重新执行登记的操作。即将日志记录中“更新后的值”写入数据库。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论