【数据库系统概论】-数据库恢复技术

数据库系统概论》| 第十章 数据库恢复技术 知识梳理 数据库恢复技术 目录 10.1  事务的基本概念           事务的ACID特性 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability ) 10.2  数据库恢复概述 10.3  故障的种类 1.事务内部的故障 2.系统故障 3.介质故障 4.计算机病毒 10.4  恢复的实现技术    ... 阅读详情

事务是一系列数据库操作,是数据库应用撑血的基本逻辑单元。事物处理技术主要包括数据库恢复技术和并发控制技术。数据库恢复机制和并发控制机制是数据库管理系统的重要组成部分。

事务的基本概念

一、事务

所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS按缺省规定自动划分事务。

在SQL中,定义事务的语句有三条:

BEGIN TRANSACTION

COMMIT

ROLLBACK

事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。

COMMIT表示提交,即提交事务的所有操作,具体说就是将事务中所有对数据库的更新写回到磁盘,事务正常结束。

ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始的状态。

二、事务的特征

事务具有原子性、一致性、间隔性和持续性,简称ACID。

1、原子性(Atomicity)

事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做要么全不做。

2、一致性(Consistency)

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

3、隔离性(Isolation)

一个事务的执行不能被其他事务干扰

4、持续性(Durability)

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


保证事务ACID特性是事务管理的重要任务。可能破坏事务特性的因素有:

(1)多个事务并行运行时,不同事务的操作交叉执行;

(2)事务在运行过程中被强行停止;

故障的种类

一、事务内部的故障

事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理的。

事务故障意味着事务没有达到预期的重点(COMMIT或显式的ROLLBACK)因此,数据库可能处于不正确状态。恢复郑旭要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样。

这类恢复操作称为事务撤销

二、系统故障

系统故障时指造成系统停止运载的任何事件,使得系统要重新启动。

恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤销所有未完成的事务。

还需要重做所有已经提交的事务,以将数据库真正恢复到一致的状态。

三、介质故障

系统故障通常称为软故障,介质故障通常称为硬故障,这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。

四、计算机病毒


总结各类故障,对数据库的影响有两种可能性,一是数据库本身被破坏,二是数据库没有被破坏,但数据可能不正确,这是由于事务运行被非正常终止造成的。


恢复的基本原理十分简单:可以用一个词来概括:冗余

恢复的实现技术

恢复机制涉及两个关键问题:一,如何建立冗余数据;二,如何利用这些冗余数据实施数据库恢复。

建立冗余数据最常用的技术是数据转储登录日志文件

数据转储

数据转储是数据库恢复中采用的基本技术。所谓转储是DBA定期地将整个数据库复制到磁带或者另一个磁盘上保存起来的过程,这些备用的数据称为后备副本或后援副本。

转储是十分耗费时间和资源的,不能频繁进行。

转储可以分为静态转储和动态转储

静态转储是在系统中无运行事务时进行的转储操作。即转储操作开始的时刻,数据库处于一致性状态,在转储期间不允许(或不存在)对数据库任何存取、修改活动。

动态转储是指转储期间允许对数据库进行存取或修改,即转储和用户事务可以并发执行。

转储还可以分为海量转储和增量转储两种方式:海量转储是一次性转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。

登记日志文件

一、日志文件的格式和内容

日志文件时用来记录事务对数据库的更新操作的文件。不同数据库系统采用的日志文件格式并不完全一样。概括起来日志文件主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。

日志文件中需要登记的内容:

各个事务的开始标记

各个事务的结束标记

各个事务的所有更新操作


每个日志记录的内容主要包括

事务标识

操作的类型

更新前数据的旧值

更新后数据的新值

二、日志文件的作用

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

(2)在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库

(3)在静态转储方式中,也可以建立日志文件。

三、登记日志文件

为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:

(1)登记的次序严格按并发事务执行的时间次序

(2)必须先写日志文件,后写数据库

“先写日志文件”原则

恢复策略

当系统运行过程中发生故障,利用数据库后备副本和日志文件就可以将数据库恢复到故障之前的某一个一致性状态。

事务故障的恢复

事务故障是指事务在运行至正常终止点之前被终止,这时恢复子系统利用日志文件撤销此事务已对数据库进行的修改。事务故障时由系统自动完成的,对用户是透明的。

事务故障的恢复步骤:

(1)反向扫描日志文件(即从最后向前扫描日志文件),查找该事务的更新操作。

(2)对该事物的更新操作执行逆操作。

(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理

(4)如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。

系统故障恢复

系统故障的恢复是系统在重新启动时自动完成的,不需要用户干预。

系统故障的恢复步骤:

(1)正向扫描日志文件(即从头扫描日志文件),找出在故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION 记录,也有COMMIT记录)将其事务标识计入重做队列。

(2)对撤销队列中的各个事务进行撤销处理

(3)对重做队列中的各个事务进行重做处理

介质故障的恢复

1.装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。

2.装入相应的日志文件副本,重做已经完成的事务

介质故障的恢复需要DBA介入,但DBA只需要重装最近转储的数据库副本和有关个日志文件副本,然后执行系统提供的恢复命令即可,具体的恢复操作仍由DBMS完成

具有检查点的恢复技术

为了解决恢复系统中浪费时间的问题,在日志文件中增加一类新的记录--检查点记录,增加一个重新开始文件,并让恢复子系统在日志文件期间动态的维护日志。

检查点记录的内容包括:

①建立检查点时刻所有正在执行的事务清单;

②这些事务最近一个日志记录的地址。

动态维护日志文件的方法是,周期性地执行如下操作:建立检查点,保存数据库状态。

①将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上

②在日志文件中写入一个检查点记录

③将当前数据缓冲区的所有数据记录写入磁盘的数据库中

④把检查点记录在日志文件中的地址写入一个重新开始文件。



数据库系统数据库系统概论——第十章 数据库恢复技术 数据库系统数据库系统概论====第十章 数据库恢复技术 10.1事务的基本概念 事务 事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位,是恢复和并发控制的基本单位。 (1)事务和程序的区别 ①在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。 ②一个程序通常包含多个事务。 (2)事务的定义 ①显式定义方式 事务正常结束格式: BEGIN TRANSACTION; SQL 语句; COMMIT; 事务正常结束,提交事务的所有操作(读+ 阅读详情

相关推荐

数据库设计规范

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33971977的博客 176

10.数据库恢复技术

检查点记录是一类新的日志纪录。它的内容包括建立检查点时刻所有正在执行的事务清单这些事务的最近一个日志记录的地址数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。数据库镜像的用途用于数据库恢复。当出现介质故障时,镜像磁盘可继续使用,同时DBMS自动利用镜像磁盘数据进行数据库恢复,不需要关闭系统和重装数据库副本。提高数据库的可用性。

Moliay的博客 2096

数据库系统概论--(第七章)数据库恢复技术

事务处理技术。事务是一列的数据库操作,是数据库应用程序的基本逻辑单元。事务处理技术主要包括数据库恢复技术和并发控制技术数据库恢复机制和并发控制机制是数据库管理系统的重要组成部分。 事务的基本概念 1、事物 所谓事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。在关系数据库中,一个事务可以是是一条SQL语句、一组SQL语句或整个程序。 事务和程序是两个概念。一般的讲,一个程序包含多个事务。 事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则

Du霄霖 3276

数据库恢复技术

如果事务日志部分损坏(比如只保留了12:00-14:00的日志,14:00之后的日志丢了),无法恢复到故障前一刻,就只能做“不完全恢复”——先还原完整备份,再用“能找到的最大范围日志”恢复到日志截止的时间点(比如14:00)。正确做法是:开启日志功能,且将日志文件存到独立的磁盘(最好是不同的物理服务器),避免“数据和日志一起挂”。如果说日志是“动态操作记录”,备份就是数据库在某一时刻的“静态快照”——相当于给数据拍了一张“全家福”,后续恢复时可以先回到这张“照片”的状态,再用日志补充“照片之后”的操作

2301_80459225的博客 732

数据库系统概论|王珊)第十章数据库恢复技术:习题

如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致性状态。例如,某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放,则可以定义一个事务T。恢复技术可以保证事务的原子性和持久性。

快乐江湖的博客 7450

数据库系统概论——恢复技术

目录 一、数据库恢复概述 1.1故障分类 1.1.1事务故障 1.1.2系统故障 1.1.3介质故障 1.2恢复的基本思想 二、基于日志的恢复技术 2.1日志 2.1.1日...

SmallProgramer3121的博客 1414

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

Chap10 习题解答1. 试述事务的概念及事务的4个特性。恢复技术能保证事务的哪些特性?2. 为什么事务非正常结束时会影响数据库数据的正确性?请举例说明。 1. 试述事务的概念及事务的4个特性。恢复技术能保证事务的哪些特性? 事务:所谓事务就是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务的四个特性(ACID): 原子性(Atomicity):事务中的操作要么全做,要么全不做 一致性(Consistency):事务的执行结果必须是使数据库从一个一致性状态到

不知知了 的专栏 1174

数据库系统概论(二十)数据库恢复技术

本文介绍了数据库恢复技术的核心概念。首先通过自动售货机类比解释了事务的定义和特性(原子性、一致性、隔离性、持久性),并区分了隐式与显式事务的使用场景。其次分析了数据库故障的必然性(硬件/软件故障、人为操作)及导致的后果(数据不一致或丢失)。最后重点阐述了恢复技术的两大关键手段:数据转储(包括静态/动态转储、全量/增量备份)和日志文件记录,通过备份副本和操作日志实现数据重建。这些机制共同保障了数据库在故障后的可靠恢复能力。

2402_83322742的博客 1147

数据库系统概论数据库恢复技术

事务(Transaction)是用户定义的数据操作序列,这些操作被作为一个完整的、不可分割的工作单元来执行。在一个事务内的操作要么全部执行,要么全部不执行。事务:是数据库中用于实现数据操作的一种基本单元。在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句,甚至是整个程序中的部分操作。程序:通常包含多个事务事务是数据库系统中实现恢复和并发控制的基本单位。

学习中 1147

数据库系统概论数据库恢复技术--复习

回放日志的基本思想是从数据库的最后一个检查点开始,按日志顺序逐条回放事务日志,首先重做已提交事务的操作,随后回滚未提交事务的操作。是数据库操作的一个基本单位,是数据库恢复技术和并发控制的基本单位,事务由一系列的数据库操作组成,这些操作要么全部执行(操作全部成功,事务成功提交),要么全部不执行(事务全部失败,全部回滚)。检查点的存在使得恢复过程变得更加高效。题目解析:T1,T2,T3,T4代表的是不同的事务,T1是第一个执行的事务,T2是第二个执行的事务,T3是第三个执行的事务,T4是第四个执行的事务。

2302_80281315的博客 1380

数据库系统概论(第6版 王珊 杜小勇 陈红)第十一章 数据库恢复技术 课后习题答案

本文整理了《数据库系统概论》第11章"数据库恢复技术"的习题解答,包括事务概念、ACID特性、日志登记原则、故障恢复策略等内容。重点解析了检查点技术的优势及恢复步骤,通过具体日志案例演示不同故障场景下的恢复操作。详细解答了事务故障、系统故障和介质故障的恢复方法,并探讨了数据库镜像的作用。习题答案采用一题一答形式,涵盖概念解析和实际应用场景,为数据库恢复技术学习提供系统指导。

s_a_g_a的博客 1586

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

一、事务的基本概念 1. 事务(Transaction) (1)概念 是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 (2)事务和程序是 事务和程序是两个概念。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序;一个程序通常包含多个事务 (3)事务是恢复和并发控制的基本单位 (4)定义事务 定义方式 显式定义方式 隐...

zj20165149的博客 2923

数据库系统概论(第十章数据库恢复技术

第10章 数据库恢复技术 事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。事务处理(transaction processing)技术主要包括数据库恢复技术和并发控制技术。 10.1 事务的基本概念 1、事务 所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务和程序是两个概念,一般一个程序中包含多个事务。如果用户没有显式的定义事...

王小波的博客 7055

数据库系统概论》10——数据库恢复技术

数据库系统概论》10——数据库恢复技术

m0_65036580的博客 908

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

数据库恢复数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库恢复管理系统对故障的对策。

sprinterz.blog.csdn.net 1326

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

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

千月星跡 5276
上一篇: 【数据库系统概论】-关系查询处理和查询优化
下一篇: 【数据库系统概论】-并发控制
gscienty
博客等级 码龄12年 36粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值