数据库恢复技术

合集下载

数据库恢复技术

数据库恢复技术

数据库恢复技术---恢复内容开始---数据库恢复技术事务:是⽤户定义的⼀个数据库操作序列,这些操作要么全做,要么全不做,是⼀个不可分割的⼯作单位。

事物的 ACID 特性:原⼦性、⼀致性、隔离性、持续性。

恢复的实现技术:建⽴冗余数据 -> 利⽤冗余数据实施数据库恢复。

建⽴冗余数据常⽤技术:数据转储(动态海量转储、动态增量转储、静态海量转储、静态增量转储)、登记⽇志⽂件。

ACID特性1. 原⼦性(Atomicity)⼀个原⼦事务要么完整执⾏,要么⼲脆不执⾏。

这意味着,⼯作单元中的每项任务都必须正确执⾏。

如果有任⼀任务执⾏失败,则整个⼯作单元或事务就会被终⽌。

即此前对数据所作的任何修改都将被撤销。

如果所有任务都被成功执⾏,事务就会被提交,即对数据所作的修改将会是永久性的。

2. ⼀致性(Consistency)⼀致性代表了底层数据存储的完整性。

它必须由事务系统和应⽤开发⼈员共同来保证。

事务系统通过保证事务的原⼦性,隔离性和持久性来满⾜这⼀要求; 应⽤开发⼈员则需要保证数据库有适当的约束(主键,引⽤完整性等),并且⼯作单元中所实现的业务逻辑不会导致数据的不⼀致(即,数据预期所表达的现实业务情况不相⼀致)。

例如,在⼀次转账过程中,从某⼀账户中扣除的⾦额必须与另⼀账户中存⼊的⾦额相等。

3. 隔离性(Isolation)隔离性意味着事务必须在不⼲扰其他进程或事务的前提下独⽴执⾏。

换⾔之,在事务或⼯作单元执⾏完毕之前,其所访问的数据不能受系统其他部分的影响。

当我们编写了⼀条 update 语句,提交到数据库的⼀刹那间,有可能别⼈也提交了⼀条 delete 语句到数据库中。

也许我们都是对同⼀条记录进⾏操作,可以想象,如果不稍加控制,就会出⼤⿇烦来。

我们必须保证数据库操作之间是“隔离”的(线程之间有时也要做到隔离),彼此之间没有任何⼲扰。

4. 持久性(Durability)持久性表⽰在某个事务的执⾏过程中,对数据所作的所有改动都必须在事务成功结束前保存⾄某种物理存储设备。

数据库系统的备份与恢复技术

数据库系统的备份与恢复技术

数据库系统的备份与恢复技术随着数字化时代的到来,数据已成为企业和个人最重要的资产之一。

对于企业而言,数据的安全和可靠性直接关系到企业长期的发展和竞争力。

而数据库系统的备份与恢复技术则是保障数据安全的重要手段之一。

一、备份技术备份是指将数据库中的数据和相关元数据以一定的方式复制到其他介质上,以备发生数据丢失、破坏或其他灾难性事件时进行恢复操作。

备份方式可以采用全备份、增量备份和差异备份等方式。

1.全备份全备份是指备份整个数据库,包括所有数据和元数据,并保存到备份集合中。

由于备份数据的全面性,全备份的执行时间相对较长,备份数据集也较大,在恢复时可以保证完整性和可用性。

但是,全备份的频率较低,备份数据量大,占用存储空间多。

2.增量备份增量备份是指只备份数据库中发生改变的部分,即增加、更新和删除的数据表和数据记录。

每次增量备份都只备份数据的新增和修改部分,减少了备份所需的时间和存储空间,但增量备份的恢复操作需要较长时间且复杂。

3.差异备份差异备份是指备份连续全备份后发生的数据变化部分。

相比于增量备份,差异备份能够减少备份和恢复所需时间,占用的存储空间也较少。

但是,差异备份需要记录每个差异备份的位置,增加了恢复操作的复杂度。

二、恢复技术恢复是指在数据发生丢失、破坏等情况下,通过备份集合中的数据对数据库进行还原。

恢复技术可以采用整体恢复和部分恢复等方式进行。

1.整体恢复整体恢复是指将所有备份集合中的数据进行还原,主要在数据库软件出现重要故障无法正常启动时进行。

整体恢复需要将数据库中所有的数据文件均进行恢复,即使只丢失了少量数据,也需要对整个数据库进行还原,因此整体恢复时间较长。

2.部分恢复部分恢复是指在局部数据丢失或破坏时,只恢复丢失或破坏的部分数据。

部分恢复可以采用基于时间点的恢复、块设备恢复和逻辑日志恢复等方式进行。

(1)基于时间点恢复基于时间点恢复是指在特定时间点进行备份,并将此时间点作为恢复点,通过恢复点来恢复数据库。

数据库容错与恢复技术-第1篇

数据库容错与恢复技术-第1篇

数据库监控与维护
1.监控数据库运行状态,及时发现故障和异常。 2.定期对数据库进行维护和优化,提高数据库性能。 3.建立完善的数据库运维体系,确保数据库稳定运行。 数据库监控与维护是保障数据一致性的重要保障措施之一。通 过监控数据库的运行状态,可以及时发现故障和异常,避免因 为数据库故障而导致的数据不一致问题。同时,定期对数据库 进行维护和优化,可以提高数据库的性能和稳定性,减少因为 数据库性能问题而导致的数据不一致问题。此外,还需要建立 完善的数据库运维体系,确保数据库的稳定运行和数据一致性 保障。
1.随着技术的不断发展,数据库容错技术也在不断进步和完善 ,包括备份技术的优化、高可用技术的提升和容错管理工具的 智能化等。 2.云计算、大数据和人工智能等新兴技术的应用也为数据库容 错技术的发展带来了新的机遇和挑战。 3.未来,数据库容错技术将更加注重自动化、智能化和可视化 等方面的发展,以提高容错效率和降低管理成本。
数据库容错技术简介
▪ 数据库高可用技术
1.数据库高可用技术是指通过特定的技术手段和方法,确保数据库系统能够持续、 稳定地提供服务的技术。 2.常见的高可用技术包括数据库集群、数据库复制和数据库分区等。这些技术可以 大大提高数据库的并发处理能力和容错能力。 3.在实施高可用技术时,需要考虑数据库的负载均衡、故障切换和数据一致性等问 题。
数据库容错与恢复技术
数据一致性保障措施
数据一致性保障措施
数据备份与恢复
1.定期备份数据库,确保数据可恢复。 2.采用可靠的恢复技术,确保数据完整性。 3.建立应急恢复计划,以应对突发事件。 随着数据量的不断增长,数据备份与恢复已成为保障数据一致 性的重要手段。为了确保数据的可靠性,需要定期备份数据库 ,以便在数据损坏或丢失时进行恢复。同时,还需要采用可靠 的恢复技术,确保恢复后的数据完整性和准确性。此外,为了 应对突发事件,还需要建立应急恢复计划,确保在短时间内恢 复数据,减少损失。

数据库备份与恢复技术手册

数据库备份与恢复技术手册

数据库备份与恢复技术手册数据库备份与恢复是数据库管理中至关重要的一部分,它涉及到数据的安全性和可靠性。

本技术手册旨在为数据库管理员提供数据库备份与恢复的详细步骤和技术要点,确保数据库能够在灾难事件发生后尽快恢复,并保护数据的完整性。

第一部分:备份1. 定期备份数据库备份应该成为日常操作的一部分。

建议将备份计划定期安排,以确保重要数据的安全。

可以根据业务需求和数据敏感性来决定备份频率,如每天、每周或每月。

2. 分级备份分级备份包括完全备份和增量备份。

完全备份将整个数据库备份到磁盘或磁带上,而增量备份只备份自上次备份以来发生的变化部分。

通过分级备份可以节省存储空间和备份时间。

3. 存储介质选择选择适合的存储介质对于数据库备份至关重要。

可选的存储介质包括本地磁盘、网络存储设备和云存储服务。

需要考虑存储容量、读写速度和数据安全性等因素。

4. 备份验证备份完成后,验证备份文件的完整性和可用性至关重要。

可以通过恢复一个样本数据库来确认备份文件是否可以成功恢复。

第二部分:恢复1. 选择恢复点当数据库出现故障或数据丢失时,需要选择一个合适的恢复点。

可以根据备份的时间戳或事务日志来确定最近的备份点。

2. 数据库还原数据库还原是将备份数据重新加载到数据库中的过程。

根据选择的恢复点,可以使用备份文件进行完全还原或增量还原。

还原过程需要保证数据库事务的一致性。

3. 日志恢复在数据库故障或崩溃后,可能存在未提交的事务或部分事务记录丢失的情况。

通过应用事务日志,可以将数据库恢复到最近的一致状态。

4. 测试恢复过程在实际灾难发生之前,测试恢复过程是非常重要的。

定期进行恢复测试,可以帮助发现备份和恢复过程中的潜在问题,并及时进行修复。

第三部分:最佳实践1. 多重备份为了数据安全和可靠性,建议实施多重备份策略。

除了常规的定期备份,可以考虑使用磁带库、远程备份和异地备份等方式。

2. 数据库容灾数据库容灾是一种通过在远程地点建立热备份数据库来保障系统可用性的方法。

数据库恢复技术有哪些

数据库恢复技术有哪些

数据库恢复技术有哪些数据库恢复技术有:1、数据转储,即DBA定期将整个数据库复制到磁带或另⼀个磁盘上保存起来的过程。

2、登记⽇志⽂件,⽇志⽂件是⽤来记录事务对数据库的更新操作的⽂件,设⽴⽇志⽂件可以进⾏事务故障恢复、系统故障恢复、协助后备副本本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

数据库恢复概述 数据库管理系统必须具有把数据库从某⼀错误状态恢复到某⼀已知的正确状态的功能,这就是数据库的恢复。

恢复⼦系统是数据库管理系统的⼀个重要组成部分,⽽且还相当庞⼤,常常占整个系统代码的百分之⼗以上。

数据库系统采⽤的恢复技术是否⾏之有效,不仅对系统的可靠程度起着决定性作⽤,⽽且对系统的运⾏效率也有很⼤影响,是衡量系统性能优劣的重要指标。

<h梵蒂冈介质故障 系统故障称为软故障,介质故障称为硬故障。

硬故障指外存故障,如磁盘损坏、磁头碰撞、瞬时强磁场⼲扰等。

这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。

计算机病毒 总结各类故障,对数据库的影响有两种可能性。

⼀是数据库本⾝被破坏。

⼆是数据库没有被破坏,但数据可能不正确,这时由于事务的运⾏被⾮正常终⽌造成的。

恢复的实现技术恢复机制涉及两个关键问题:1、如何建⽴冗余数据;2、如何利⽤这些冗余数据实施数据库恢复。

建⽴冗余数据最常⽤的技术是数据转储和登记⽇志⽂件。

通常在⼀个数据库系统中,这两种⽅法是⼀起使⽤的。

数据转储数据转储是数据库恢复中采⽤的基本技术。

所谓转储即DBA定期将整个数据库复制到磁带或另⼀个磁盘上保存起来的过程。

这些备⽤的数据成为后备副本或后援副本。

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

静态转储是在系统中⽆运⾏事务时进⾏的转储操作。

即转储操作开始的时刻,数据库处于⼀致性状态,⽽转储期间不允许对数据库的任何存取、修改活动。

显然,静态转储得到的⼀定是⼀个数据⼀致性的副本。

动态转储是指转储期间允许对数据库进⾏存取或修改。

数据库备份文件损坏的恢复方法和技巧

数据库备份文件损坏的恢复方法和技巧

数据库备份文件损坏的恢复方法和技巧数据库备份文件在数据库管理中具有重要的地位,它们是恢复数据的关键组成部分。

然而,有时我们可能会遇到备份文件损坏的情况,这可能是由于硬件故障、人为错误或其他原因导致的。

本文将介绍一些恢复数据库备份文件的方法和技巧,帮助您解决这个问题。

1. 检查备份文件完整性在尝试恢复之前,首先应该检查备份文件的完整性。

可以使用数据库管理系统中的备份验证命令或工具来检查备份文件的完整性。

如果备份文件被检测到有任何损坏或错误,可能需要考虑使用其他备份文件或其他恢复技术。

2. 使用备份恢复工具大多数数据库管理系统都提供了备份恢复工具,可以使用这些工具来恢复备份文件。

这些工具通常具有图形用户界面,简化了恢复过程。

它们提供了不同的选项和技巧,可以根据实际情况进行灵活配置。

通过按照工具提供的步骤和指导来执行恢复操作,可以最大限度地减少数据丢失。

3. 使用第三方恢复工具如果数据库管理系统的备份恢复工具无法恢复损坏的备份文件,可以尝试使用第三方恢复工具。

这些工具通常是由专业的数据库恢复服务提供商开发的,可以解决各种备份文件损坏问题。

这些工具可以快速识别和修复备份文件中的错误,以恢复尽可能多的数据。

但是,请务必选择信誉良好的第三方恢复工具,并谨慎评估其性能和可靠性。

4. 逐步恢复如果备份文件太大或损坏的部分仅影响了其中的一部分数据,可以考虑逐步恢复的方法。

逐步恢复意味着先尝试恢复一部分数据,然后逐步添加其余的数据。

这样可以降低恢复失败的风险,并且使恢复过程更加可控。

通过仔细选择要恢复的数据,可以减少数据丢失并快速恢复数据库。

5. 寻求专业的数据库恢复服务如果您在使用自己的恢复方法和工具时遇到了困难,或者数据库备份文件的损坏程度很严重,影响了重要的业务数据,那么寻求专业的数据库恢复服务可能是一个明智的选择。

专业的数据库恢复服务提供商通常具有权威的技术团队和专业的设备设施,可以处理各种各样的数据库恢复问题。

数据库的恢复技术

数据库的恢复技术

一、数据库恢复理论知识1、数据库恢复:DBMS必须具有把数据库从错误状态恢复到某一已知的正确状态的功能。

2、数据库恢复机制包括“一个数据库恢复子系统”和“一套特定的数据结构”。

而其基本原理是重复存储数据,即“数据冗余(data redundancy)”3、恢复机制涉及两个关键的问题①如何建立冗余数据。

②如何利用这些冗余数据实施数据库恢复。

4、建立冗余数据最常用(也是最基本)的技术就是:数据转储和登陆日志文件。

(一般两种技术一起使用)5、基本概念①数据转储:DBA(Database Administrator)定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。

这些备用的数据文本称为后备副本或后援副本举例子:假定有三个瞬时时间t1<t2<t3。

其中t1时刻DBMS停止事务的运行而开始进行数据的转储,在到达时间t2的时候转储完毕,当到达t3的时候数据库发生故障,因此为了恢复到数据库发生故障的前一刻t(即t2<t<t3),DBA就要重装数据库后备副本,将数据库恢复到t2时刻的状态,然后重新运行自t2时刻到t3时刻的所有更新事务,这样子就可以完成数据库的恢复。

值得注意的是:转储是十分消耗时间和资源的,所以一般不会频繁运行,一般转储周期(为几小时、几天、也可以是几个月)还得选择适合你当前数据库的那个时间。

从上面中的介绍可以看出:转储需要在停止了所有事务时才可以进行,这种情况我们称之为“静态转储”,为了克服这种转储,数据库另有一种方式为“动态转储”,即转储和用户事务可以并发执行,而且能够恢复到用户事务更新到故障的前一刻。

转储的时候会涉及数据的多少问题:因此会有“海量转储”和“增量转储”两种方式。

海量:即每一次转储全部的数据,而增量:每一次只转储上一次转储后的更新过的数据。

用一张表来简单描述为:②登录日志文件(可以协助或备副本进行介质故障恢复)基本概念:日志文件:是用来记录事务对数据库的更新操作的文件。

数据库恢复原理

数据库恢复原理

数据库恢复原理数据库恢复是指在数据库发生异常、损坏或丢失数据的情况下,通过各种方法将数据库恢复到正常的工作状态。

数据库恢复是一个复杂的过程,需要依赖数据库管理系统(DMS)的支持和一些恢复技术。

下面将详细介绍数据库恢复的原理和相关技术。

一、数据库恢复的原理1.原子性:数据库中的每个事务都应当被视为一个不可分割的工作单元,要么全部执行,要么全部回滚。

当数据库发生异常或故障时,可以通过回滚未完成事务的方式来保证数据的一致性。

2.一致性:数据库中的数据应当满足一些预定义的规则和约束,如关系模型中的主键、外键约束等。

在恢复过程中,需要保证这些约束条件的完整性,以保证恢复后的数据库数据与故障前的数据一致。

3.隔离性:数据库中的事务应当相互隔离,即一个事务的执行不应当被其他事务所影响。

在数据库恢复过程中,需要保证已提交的事务不会受到未提交事务的影响。

4.持久性:数据库中的数据一旦提交,应当永久保存。

即使在数据库发生异常或故障时,也需要通过恢复技术将已提交的数据从日志或备份中恢复出来。

基于以上事务处理机制的原则,数据库恢复通常包括以下几个步骤:1.故障检测:通过数据库管理系统的错误检测机制,检测数据库的异常或故障,并判断是否需要进行恢复操作。

2.事务回滚:将未完成的事务进行回滚,撤销未完成的操作,以保证数据的一致性和完整性。

3.日志重做:通过数据库的日志记录,将已提交的事务进行重做,将日志中的操作应用于数据库,以保持数据库的一致性。

4.数据恢复:从备份或者其他灾难恢复方案中,将已提交的数据恢复到数据库中,以保证数据库的完整性。

二、数据库恢复的技术1.冷备份和热备份:冷备份是在数据库关闭状态下备份数据,热备份是在数据库运行状态下备份数据。

备份可以保证数据在发生异常或故障时的可用性,通过将备份数据恢复到数据库中,可以恢复数据库的完整性。

2.日志备份和重做:数据库管理系统会将事务的操作日志持久化保存,当数据库发生异常时,可以使用日志进行数据的恢复。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

An Introduction to Database System
4、计算机病毒 、
计算机病毒
一种人为的故障或破坏, 一种人为的故障或破坏,是一些恶作剧者研制的一 种计算机程序 可以繁殖和传播
危害
破坏、 破坏、盗窃系统中的数据 破坏系统文件
An Introduction to Database System
An Introduction to Database System
事务内部的故障(续) 事务内部的故障(
这个例子所包括的两个更新操作要么全部完成要么全部不 做,否则就会使数据库处于不一致状态。例如只把账户甲 否则就会使数据库处于不一致状态。 的余额减少了而没有把账户乙的余额增加。 的余额减少了而没有把账户乙的余额增加。 在这段程序中若产生账户甲余额不足的情况, 在这段程序中若产生账户甲余额不足的情况,应用程序可 以发现并让事务滚回,撤销已作的修改, 以发现并让事务滚回,撤销已作的修改,恢复数据库到正 确状态。 确状态。
An Introduction to Database System
事务的两段提交
活动 状态 部分 提交 提交 状态
失败 状态
异常 状态
4、异常结束状态 、 当撤消一个失败事务对数据库和其他事务的影响, 当撤消一个失败事务对数据库和其他事务的影响,并 恢复到事务开始执行之前的状态以后, 恢复到事务开始执行之前的状态以后,该失败事务退出数 据库系统,进入异常结束状态。 据库系统,进入异常结束状态。
An Introduction to Database System
2、系统故障 、
系统故障
称为软故障,是指造成系统停止运转的任何事件, 称为软故障,是指造成系统停止运转的任何事件,使得 系统要重新启动。 系统要重新启动。 整个系统的正常运行突然被破坏 所有正在运行的事务都非正常终止 不破坏数据库 内存中数据库缓冲区的信息全部丢失
An Introduction to Database System
事务内部的故障(续) 事务内部的故障(
例如:银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙。 例如:银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙。 BEGIN TRANSACTION 读账户甲的余额BALANCE; 读账户甲的余额 ; BALANCE=BALANCE-AMOUNT;(AMOUNT 为转账金额 为转账金额) ; 写回BALANCE; 写回 ; IF(BALANCE < 0 ) THEN { 打印'金额不足,不能转账'; 打印 金额不足,不能转账 ; 金额不足 ROLLBACK;(撤销刚才的修改,恢复事务 撤销刚才的修改, ; 撤销刚才的修改 恢复事务) } ELSE { 读账户乙的余额BALANCE1; 读账户乙的余额 ; BALANCE1=BALANCE1+AMOUNT; ; 写回BALANCE1; 写回 ; COMMIT; ; }
An Introduction to Database System
事务内部的故障(续) 事务内部的故障(
事务内部更多的故障是非预期的, 事务内部更多的故障是非预期的,是不能由应用程序处理 的。
运算溢出 并发事务发生死锁而被选中撤销该事务 违反了某些完整性约束等
以后,事务故障主要指这一类非预期的故障 以后,事务故障主要指这一类非预期的故障 事务故障的恢复:撤消事务( 事务故障的恢复:撤消事务(UNDO) )
An Introduction to Database System
二、故障的种类
事务内部的故障 系统故障 介质故障 计算机病毒
An Introduction to Database System
1、事务内部的故障 、
事务内部的故障
有的是可以通过事务程序本身发现的(见下面转账事 有的是可以通过事务程序本身发现的( 务的例子) 务的例子) 有的是非预期的
An Introduction to Database S 部分 提交 提交 状态
失败 状态
异常 状态
5、提交状态 、 当一个事务成功地完成所有操作, 当一个事务成功地完成所有操作,并且所有的操作对 数据库的影响都已经永久地存入数据库之后, 数据库的影响都已经永久地存入数据库之后,该事务退出 数据库系统,进入提交状态,正常结束。 数据库系统,进入提交状态,正常结束。
故障小结
各类故障,对数据库的影响有两种可能性 各类故障,
一是数据库本身被破坏 二是数据库没有被破坏,但数据可能不正确, 二是数据库没有被破坏,但数据可能不正确,这是由 于事务的运行被非正常终止造成的
An Introduction to Database System
三、恢复的实现技术
恢复操作的基本原理: 恢复操作的基本原理:冗余 利用存储在系统其它地方的冗余数据来重建数据库中已 被破坏或不正确的那部分数据。 被破坏或不正确的那部分数据。 恢复机制涉及的关键问题: 恢复机制涉及的关键问题: 1.如何建立冗余数据 如何建立冗余数据 数据转储( 数据转储(backup) ) 登录日志文件( 登录日志文件(logging) ) 2.如何利用这些冗余数据实施数据库恢复 如何利用这些冗余数据实施数据库恢复
An Introduction to Database System
事务的两段提交
活动 状态 部分 提交 提交 状态
失败 状态
异常 状态
通常,一个事务开始运行便立即进入活动状态, 通常,一个事务开始运行便立即进入活动状态,当执行最后一个语句时 便进入部分提交状态。若处于活动状态的事务未能正常执行某一操作, 便进入部分提交状态。若处于活动状态的事务未能正常执行某一操作,或者 在部分提交状态中无法安全地将数据存入数据库,则事务进入失败状态。 在部分提交状态中无法安全地将数据存入数据库,则事务进入失败状态。此 只要撤消其对数据库和其他事务的影响,该事务就进入异常结束状态。 时,只要撤消其对数据库和其他事务的影响,该事务就进入异常结束状态。 对于进入异常结束状态的事务,要根据失败原因分别作出相应处理: 对于进入异常结束状态的事务,要根据失败原因分别作出相应处理:通 常情况下,由与事务无关的外部原因(如硬件故障或系统软件错误) 常情况下,由与事务无关的外部原因(如硬件故障或系统软件错误)引起的 失败,可以重新启动该事务;而对于事务内部错误所引发的失败, 失败,可以重新启动该事务;而对于事务内部错误所引发的失败,将予以废 通知用户修改或重写该事务程序。 除,通知用户修改或重写该事务程序。
3、介质故障 、
介质故障 称为硬故障, 称为硬故障,指外存故障
磁盘损坏 磁头碰撞 操作系统的某种潜在错误 瞬时强磁场干扰
An Introduction to Database System
介质故障的恢复
装入数据库发生介质故障前某个时刻的数据副本 装入数据库发生介质故障前某个时刻的数据副本 数据库发生介质故障前某个时刻的数据 重做自此时始的所有成功事务,将这些事务已提 重做自此时始的所有成功事务, 成功事务 交的结果重新记入数据库
An Introduction to Database System
一、数据库恢复概述
故障是不可避免的
系统故障:计算机软、 系统故障:计算机软、硬件故障 人为故障:操作员的失误、恶意的破坏等。 人为故障:操作员的失误、恶意的破坏等。
数据库的恢复 把数据库从错误状态恢复到某一已知的正确状态 一致状态或完整状态) (一致状态或完整状态)
An Introduction to Database System
系统故障的常见原因
特定类型的硬件错误( 故障) 特定类型的硬件错误(如CPU故障) 故障 操作系统故障 DBMS代码错误 代码错误 系统断电
An Introduction to Database System
系统故障的恢复
发生系统故障时,事务未提交 发生系统故障时,
恢复策略:强行撤消( 恢复策略:强行撤消(UNDO)所有未完成事务 )
发生系统故障时,事务已提交,但缓冲区中的信 发生系统故障时,事务已提交, 息尚未完全写回到磁盘上。 息尚未完全写回到磁盘上。
恢复策略:重做( 恢复策略:重做(REDO)所有已提交的事务 )
An Introduction to Database System
An Introduction to Database System
事务的两段提交
活动 状态 部分 提交 提交 状态
失败 状态
异常 状态
2、部分提交状态 、 事务中所有读写操作已经完成, 事务中所有读写操作已经完成,事务进入部分提交状 但这时对数据库的修改还存储在内存缓冲区中, 态。但这时对数据库的修改还存储在内存缓冲区中,事务 还没有真正结束。 还没有真正结束。
An Introduction to Database System
事务的两段提交
一个事务完成其操作并提交, 一个事务完成其操作并提交,严格上讲并非 已经“成功完成”该事务。实际上, 已经“成功完成”该事务。实际上,事务的提交 有一个过程,从开始提交到提交成功可以分为部 有一个过程,从开始提交到提交成功可以分为部 分提交和提交两个阶段 两个阶段。 分提交和提交两个阶段。 要详细了解这个问题, 要详细了解这个问题,首先要了解事务运行 过程中的状态变化。 过程中的状态变化。
失败 状态
异常 状态
1、活动状态 、 事务开始运行时被激活,就处于活动状态, 事务开始运行时被激活,就处于活动状态,直到事务被 部分提交或失败。在这个状态中, 部分提交或失败。在这个状态中,事务将执行对数据库的 读写操作,但这时的写操作并非立即写到磁盘上, 读写操作,但这时的写操作并非立即写到磁盘上,一般是 暂时存放在系统缓冲区中。 暂时存放在系统缓冲区中。
原子性( 原子性(Atomicity) ) 一致性( 一致性(Consistency) ) 隔离性( 隔离性(Isolation) ) 持续性( 持续性(Durability )
相关文档
最新文档