第七章 数据库恢复技术
7.1 故障的种类
1.数据可系统中常见的故障主要分为三类:事务故障、系统故障、介质故障
2.事务故障:
1)事务故障主要分为:预期的事务故障、非预期的事务故障(如:数据错误、运算溢出等)
3.系统故障:
1)系统故障又称为软故障,是指造成系统停止运行、不得不重启的任何事件。如特定类型的硬件错误(如CPU故障等)、操作系统故障、DBMS代码错误、系统断电等
2)会使缓冲区的信息全部丢失,但是不会破坏数据库
4.介质故障
1)又称为硬故障,是指外存存储器故障,导致外存中的数据部分或全部丢失。引起介质故障的原因有磁盘硬件、磁头碰撞或瞬时强磁场干扰等
5.计算机病毒
1)是一种人为的故障或者破坏,是恶作剧者研制的一种计算机程序,破坏计算机的软硬件系统.
7.2 恢复的实现技术
数据库的恢复机制涉及两个问题:1)如何建立冗余的数据;2)如何利用这些冗余的数据进行数据库恢复
1.数据转储(这些备用的数据文本称为后备副本或后援副本)
1)转储的分类:
(1)根据是否允许事务运行将转储分为:静态转储/动态转储
(2)根据每次转储的数据量的不同分为:海量转储/增量转储
2.登记日志文件
1)日志文件:是用来记录事务对数据库更新操作的文件。
2)日志文件主要有两种格式:以记录为单位的日志文件、以数据块为单位的日志文件
3)登记日志文件必须遵循两条规则:
(1)登记的次序严格按照并行事务执行的时间次序
(2)必须先写日志文件,再写数据库
7.3 恢复策略
1.事务故障的恢复(Undo):利用日志文件撤销(Undo)对数据库进行恢复。事务故障恢复由系统自动完成,不需要用户干涉。
2.系统故障的恢复(Undo+Redo)
3.介质故障的恢复(转储副本+log):利用转储副本重装数据库,然后利用日志文件将其恢复到故障前某一时刻的一致状态(静态副本、动态副本+日志文件)
7.4具有检查点的恢复技术
1.检查点记录:(215页图)
1)建立检查点时刻所有正在执行的事务清单
2)这些事务最近一个日志记录的地址
7.5数据库镜像
1.数据库镜像:在系统正常运行期间,自动把整个数据库(或者主数据库)或其中的关键数据复制到另一个磁盘上(镜像数据库)。每当主数据库更新时,DBMA会自动把更新后的数据复制到镜像数据库中,使镜像数据库始终与主数据库保持一致。
2.在实际应用中,用户往往选择对关键数据和日志文件镜像,而不是整个数据库镜像。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律