news 2026/5/9 2:25:31

【数据库系统】数据库系统概论——第十章 数据库恢复技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【数据库系统】数据库系统概论——第十章 数据库恢复技术

第十章 数据库恢复技术

文章目录

  • 第十章 数据库恢复技术
  • 10.1事务的基本概念
  • 10.2数据库恢复概述
  • 10.3故障的种类
  • 10.4恢复的实现技术
    • 10.4.1数据转储
    • 10.4.2登记日志文件
  • 10.5恢复策略
    • 10.5.1事务故障的恢复
    • 10.5.2系统故障的恢复
    • 10.5.3介质故障的恢复
  • 10.6具有检查点的恢复技术
  • 10.7数据库镜像
  • 10.8小结

10.1事务的基本概念

  1. 事务
    事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位,是恢复和并发控制的基本单位。
    (1)事务和程序的区别
    ①在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
    ②一个程序通常包含多个事务。
    (2)事务的定义
    ①显式定义方式
    事务正常结束格式:
BEGINTRANSACTIONSQL语句;COMMIT

事务正常结束,提交事务的所有操作(读+更新),即事务中所有对数据库的更新写回到磁盘上的物理数据库中。
事务异常终止格式:

BEGINTRANSACTIONSQL语句;ROLLBACK

事务异常终止,事务运行的过程中发生故障,不能继续执行。系统将事务中对数据库的所有已完成的操作全部撤销,事务回滚到开始时的状态。
2. 事务的特性(ACID特性)
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)。
(1)原子性
事务是数据库的逻辑工作单位,原子性是指事务中包括的所有操作要么都做,要么都不做。
(2)一致性
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

  • 一致性状态:数据库中只包含成功事务提交的结果。
  • 不一致状态:数据库系统运行中发生故障,有些事务尚未完成就被迫中断;这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态。
    (3)隔离性
    一个事务的执行不能被其他事务干扰,一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
    (4)持续性
    持续性也称永久性(Permanence),一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
    保证事务ACID特性是事务处理的任务,破坏事务ACID特性的因素主要有以下两方面:
  • 多个事务并行运行时,不同事务的操作交叉执行
    数据库管理系统必须保证多个事务的交叉运行不影响这些事务的隔离性。
  • 事务在运行过程中被强迫停止
    数据库管理系统必须保证被强行终止的事务对数据库和其他事务没有任何影响。

10.2数据库恢复概述

故障是不可避免的,故障主要包括:计算机硬件故障、软件的错误、操作员的失误、恶意的破坏等。
故障对数据库的影响主要表现为:运行事务非正常中断、影响数据库中数据的正确性、数据库全部或部分丢失数据等。
数据库恢复的作用:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能。
数据库恢复子系统是数据库管理系统的一个重要组成部分,而且相当庞大,代码占整个系统的10%。恢复技术是衡量系统优劣的重要指标,因为对系统的可靠程度起到决定性作用。

10.3故障的种类

故障的种类大致分为:事务内部的故障、系统故障、介质故障、计算机病毒

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 12:31:02

RabbitMQ 集群 Kubernetes 安装教程

Kubernetes 中部署 RabbitMQ 集群完全指南 在现代微服务架构中,消息队列扮演着至关重要的角色,而 RabbitMQ 作为一款成熟可靠的消息中间件,被广泛应用于各种场景。本文将详细介绍如何在 Kubernetes 集群中部署和配置 RabbitMQ 集群&#xff0…

作者头像 李华
网站建设 2026/4/12 16:33:02

openclaw平替之nanobot源码解析(七):Gateway与多渠道集成沟

背景 StreamJsonRpc 是微软官方维护的用于 .NET 和 TypeScript 的 JSON-RPC 通信库,以其强大的类型安全、自动代理生成和成熟的异常处理机制著称。在 HagiCode 项目中,为了通过 ACP (Agent Communication Protocol) 与外部 AI 工具(如 iflow …

作者头像 李华
网站建设 2026/4/19 16:11:44

5大核心功能解密:智能内容解锁工具的实战指南

5大核心功能解密:智能内容解锁工具的实战指南 还记得那次你急着要找一份技术文档,却被付费墙无情挡在门外的心情吗?那种看着心仪内容却无法触及的失落感,相信每个求知者都曾经历过。今天,就让我带你深入了解这款能够打…

作者头像 李华
网站建设 2026/4/12 12:13:12

信息获取工具:突破付费内容限制的3步法实践指南

信息获取工具:突破付费内容限制的3步法实践指南 在信息爆炸的数字时代,优质内容常被付费墙阻隔,形成知识获取的无形壁垒。本文将系统介绍一套经过验证的信息访问解决方案,通过技术解析与实操指南,帮助用户在合法合规前…

作者头像 李华
网站建设 2026/5/8 7:00:21

Linux版Little Snitch:隐私监控新利器?

适用于 Linux 的 Little Snitch 问世,能让应用网络活动可见,用户可监控、阻止连接。它采用 eBPF 技术,还能自定义规则。不过,它也有一定局限性。产品特性该软件能让应用程序的网络连接活动变得可见。用户可看到应用与哪些服务器通…

作者头像 李华