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

10.1事务的基本概念

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

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

②事务的ACID特性

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

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

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

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

10.2数据库恢复概述

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

10.3故障的种类

①事务内部的故障。

②系统故障。

③介质故障。

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

10.4恢复的实现技术

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

10.4.1数据转储

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

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

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

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

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

10.4.2登记日志文件

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

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

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

相关推荐
muddjsv6 分钟前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris7 分钟前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils1 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春1 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_2 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
黑桃小柒72 小时前
Django模型关系:从一对多到多对多全解析
数据库·django·sqlite
上海安当技术3 小时前
统一身份认证平台怎么落地?11 个异构业务系统接入 ASP 的完整实施路径
数据库·servlet·架构·kubernetes·jenkins
在水一缸3 小时前
PGSimCity:当数据库内核变成一座可以漫步的城市
数据库·postgresql·可视化·开源项目·数据库内核·pgsimcity·技术科普
jnrjian4 小时前
psql 执行多个 sql 文件
数据库·sql
@insist1236 小时前
信息系统管理工程师-运维人员管理与核心运维过程(上篇)
数据库·软考·软件水平考试·信息系统管理工程师·软考信管