数据库复习(第五版)- 第十章 数据库恢复技术

事务定义:

是一组操作序列,要么不做,要么全部完成,是一个不可分割的工作序列。

事务开始:begin transaction

事务提交:commit

事务回滚:rollback

ACID特性:

原子性:事务要么不做,要么全部完成。

一致性:事务执行的结果必须是从数据库的一个一致性状态到另一个一致性状态。

隔离性:一个事务内部对数据对象的操作对其他并发事务是隔离的。

持久性:事务一旦提交,对数据库中的改变就应该是永久的。

为什么需要数据库恢复子系统?作用是什么

因为在数据库中,硬件或软件的故障、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则影响事务的不正确执行,导致数据库中数据的不正确性,重则破坏整个数据库,使数据库中的数据全部丢失。恢复子系统能够使被破坏的数据库恢复到某一正确状态,从而保护数据库的安全性。

故障的种类

事务故障

系统故障

介质故障

计算机病毒

恢复技术

数据转储和登录日志文件。

数据转储的类别

静态转储:

在进行转储时,数据库首先保持无事务运行且处于一致性状态,然后进行转储,在转储期间不允许事务执行,直到转储完成,很显然在转储期间其他事务什么也不能做,降低了事务的并发性,但这保证的转储数据的正确性。

动态转储:

在进行转储时,其他事务可以对数据进行存取或修改,能够提高数据库的可用性和事务的并发性,但这样会导致转储后的后备数据可能不正确有效。只有加上日志文件才能保证数据的正确性。

还有海量转储(全部数据)和增量转储(部分增量数据)

登录日志文件

作用:

1)事务故障和系统故障必须使用日志文件

2)动态转储时需要日志文件保证后备数据的正确性。

规则:

1)必须按照事务的执行时间登记。

2)必须先写日志,后写数据库。

恢复策略

事务故障的恢复

反向扫描日志文件,找到事务的更新操作,对更新操作执行逆操作,如果是插入操作,逆操作就为删除操作,如果是删除操作,逆操作就为插入操作,如果是更新操作,就将更新前的值写入数据库,直到读到事务的开始标志。

系统故障的恢复

正向扫描日志文件 ,将未提交的事务加入UNDO队列 ,将已提交的事务加入REDO队列 ,对UNDO队列的事务执行撤销 操作,对REDO队列的事务执行重做操作。撤销就是反向扫描日志文件并执行逆操作,重做就是正向扫描日志文件并重做事务。

介质故障的恢复

利用后备数据 将数据库恢复到之前 的某一执行性状态,然后利用此时的日志文件 ,对日志文件中已提交的事务进行重做 ,从而恢复到现在的一致性状态。

检查点技术

首先将ACTIVE-LIST放入UNDO队列,从检查点开始,遇到一个新开始的事务先将它放到UNDO队列,若遇到已提交事务的则转入REDO队列,最后对UNDO队列执行撤销操作,对REDO队列执行重做操作。

数据库镜像

用于解决介质故障。

自动将整个数据库或者部分关键数据复制到另一个磁盘,每当主数据库更新时,数据库管理系统自动将更新后的数据复制过去,并由数据库管理系统自动保持数据的一致性。

还可以用于并发操作,当某事务对主数据库中的某数据对象加上排他锁时,其他用户可以读镜像数据库中的数据,而不必等待释放锁。

相关推荐
AOwhisky18 小时前
Python 学习笔记(第一期与第二期)——基础语法——核心知识点自测与详解
开发语言·笔记·python·学习·云原生·运维开发
tiancaijiben18 小时前
阿里云SSL证书自动续签与部署完全指南:从托管服务到开源工具全方案解析
数据库
全堆鸿蒙18 小时前
25 数据库设计与表结构规划:5 张表的设计思路
数据库·华为·cocoa·harmonyos
笃行35018 小时前
【金仓数据库产品体验官】_坏得起_实测:备份恢复、PITR 时间穿越与主备切换——KingbaseES V9R3C18 深度体验(三)
数据库
STLearner18 小时前
ICML 2026 | LLM×Graph论文总结[1]【图基础模型,文本属性图,多模态属性图,图对齐,图提示学习,关系深度学习
论文阅读·人工智能·python·深度学习·学习·机器学习·数据挖掘
什巳20 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
笃行35020 小时前
从兼容到进阶:驱动直连、窗口函数与动态 SQL 实测——KingbaseES V9R3C18 深度体验(二)
数据库
碎光拾影20 小时前
CPU与MCU核心区别揭秘
单片机·学习·51单片机
笃行35021 小时前
MySQL 的 JSON 字段迁到金仓还能用吗?——KingbaseES V9R3C18 JSON 操作符与函数兼容实测
数据库
IpdataCloud1 天前
跨境AI金融风险怎么防?IP风险画像的实战应用指南
数据库·tcp/ip·金融·ip