数据库系统概论-第10章数据库恢复技术

10.1事务的基本概念

①事务:用户宝义的一个数据库操作序列,是一个不可分割的工作单位。一个程序中包含多个事务。

事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交。ROLLBACK表示回滚,即在事务运行过程中发失了故障,事务无法继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。

②事务的ACID特性

原子性,一致性,隔离性,持续性。

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

并发执行的各个事务之间不能互相干扰。

事务ACID特性可能遭到破坏的因素:多个事务并行运行时,不同事务的操作交叉执行。事务在运行过程中被强行停止。

10.2数据库恢复概述

把数据库从错误状态恢复到某一已知的正确状态的功能就是数据库的恢复。恢复子系统是数据库管理系统的一个重要组成部分,常占整个系统代码的10%以上。

10.3故障的种类

①事务内部的故障。

②系统故障。

③介质故障。

系统故障常称为软故障,介质故障称为硬故障。

10.4恢复的实现技术

建立见余数据最常用的技术是数据转储和登记日志文件。通常两种方法一起使用。

10.4.1数据转储

数据库管理员定期地将整个数据库复制到磁带,磁盘或其他存储介质上保存起来的过程。备用数据常称后备副本。

转储可分静态转储和动态转储。

静态转储是在系统无运行事务时进行的转储操作。简单,但会降低数据库的可用性。

动态转储指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。但转储结束时后援副本上的数据并不能保证正确有效。

还可分为海量转储和增量转储。海量转储是指每次转储全部数据库,增量转储则指每次只转储上一次转储后更新过的数据。

10.4.2登记日志文件

格式和内容。日志文件用来记录事务对数据库的更新操作的文件。

两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。

作用:①事务故障恢复和系统故障恢复必须用日志文件。②在动态转储方式中必须建立日志文件。③在静态转储方式中也可以建立日志文件。

相关推荐
上学的小垃圾16 分钟前
01-数据库系统概述
数据库
二进制漫游记1 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
2501_928996221 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
泡干脆面就番茄3 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
devpotato4 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情6734 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy3225 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
九月要晚安5 小时前
达梦DW与AFC对比
数据库
实战派K8S&DB5 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB5 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi