数据库恢复技术
数据库恢复技术

数据库恢复技术---恢复内容开始---数据库恢复技术事务:是⽤户定义的⼀个数据库操作序列,这些操作要么全做,要么全不做,是⼀个不可分割的⼯作单位。
事物的 ACID 特性:原⼦性、⼀致性、隔离性、持续性。
恢复的实现技术:建⽴冗余数据 -> 利⽤冗余数据实施数据库恢复。
建⽴冗余数据常⽤技术:数据转储(动态海量转储、动态增量转储、静态海量转储、静态增量转储)、登记⽇志⽂件。
ACID特性1. 原⼦性(Atomicity)⼀个原⼦事务要么完整执⾏,要么⼲脆不执⾏。
这意味着,⼯作单元中的每项任务都必须正确执⾏。
如果有任⼀任务执⾏失败,则整个⼯作单元或事务就会被终⽌。
即此前对数据所作的任何修改都将被撤销。
如果所有任务都被成功执⾏,事务就会被提交,即对数据所作的修改将会是永久性的。
2. ⼀致性(Consistency)⼀致性代表了底层数据存储的完整性。
它必须由事务系统和应⽤开发⼈员共同来保证。
事务系统通过保证事务的原⼦性,隔离性和持久性来满⾜这⼀要求; 应⽤开发⼈员则需要保证数据库有适当的约束(主键,引⽤完整性等),并且⼯作单元中所实现的业务逻辑不会导致数据的不⼀致(即,数据预期所表达的现实业务情况不相⼀致)。
例如,在⼀次转账过程中,从某⼀账户中扣除的⾦额必须与另⼀账户中存⼊的⾦额相等。
3. 隔离性(Isolation)隔离性意味着事务必须在不⼲扰其他进程或事务的前提下独⽴执⾏。
换⾔之,在事务或⼯作单元执⾏完毕之前,其所访问的数据不能受系统其他部分的影响。
当我们编写了⼀条 update 语句,提交到数据库的⼀刹那间,有可能别⼈也提交了⼀条 delete 语句到数据库中。
也许我们都是对同⼀条记录进⾏操作,可以想象,如果不稍加控制,就会出⼤⿇烦来。
我们必须保证数据库操作之间是“隔离”的(线程之间有时也要做到隔离),彼此之间没有任何⼲扰。
4. 持久性(Durability)持久性表⽰在某个事务的执⾏过程中,对数据所作的所有改动都必须在事务成功结束前保存⾄某种物理存储设备。
数据库系统的备份与恢复技术

数据库系统的备份与恢复技术随着数字化时代的到来,数据已成为企业和个人最重要的资产之一。
对于企业而言,数据的安全和可靠性直接关系到企业长期的发展和竞争力。
而数据库系统的备份与恢复技术则是保障数据安全的重要手段之一。
一、备份技术备份是指将数据库中的数据和相关元数据以一定的方式复制到其他介质上,以备发生数据丢失、破坏或其他灾难性事件时进行恢复操作。
备份方式可以采用全备份、增量备份和差异备份等方式。
1.全备份全备份是指备份整个数据库,包括所有数据和元数据,并保存到备份集合中。
由于备份数据的全面性,全备份的执行时间相对较长,备份数据集也较大,在恢复时可以保证完整性和可用性。
但是,全备份的频率较低,备份数据量大,占用存储空间多。
2.增量备份增量备份是指只备份数据库中发生改变的部分,即增加、更新和删除的数据表和数据记录。
每次增量备份都只备份数据的新增和修改部分,减少了备份所需的时间和存储空间,但增量备份的恢复操作需要较长时间且复杂。
3.差异备份差异备份是指备份连续全备份后发生的数据变化部分。
相比于增量备份,差异备份能够减少备份和恢复所需时间,占用的存储空间也较少。
但是,差异备份需要记录每个差异备份的位置,增加了恢复操作的复杂度。
二、恢复技术恢复是指在数据发生丢失、破坏等情况下,通过备份集合中的数据对数据库进行还原。
恢复技术可以采用整体恢复和部分恢复等方式进行。
1.整体恢复整体恢复是指将所有备份集合中的数据进行还原,主要在数据库软件出现重要故障无法正常启动时进行。
整体恢复需要将数据库中所有的数据文件均进行恢复,即使只丢失了少量数据,也需要对整个数据库进行还原,因此整体恢复时间较长。
2.部分恢复部分恢复是指在局部数据丢失或破坏时,只恢复丢失或破坏的部分数据。
部分恢复可以采用基于时间点的恢复、块设备恢复和逻辑日志恢复等方式进行。
(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. 完全备份完全备份是将整个数据库的所有数据和对象复制到备份设备的过程。
这种备份方式适用于小型数据库,可以提供最全面的恢复功能并保持数据的完整性。
2. 增量备份增量备份只备份自上次完全备份以来的更改数据。
通过记录数据的增量变化,增量备份可以更高效地进行备份,减少存储空间的使用和备份时间的消耗。
3. 差异备份差异备份是备份自上次完全备份以来的所有更改数据。
与增量备份不同的是,差异备份会将更改的数据复制到备份设备中,而不会仅记录增量变化。
尽管差异备份比完全备份更快速,但相对于增量备份,需要更多的存储空间。
实时备份是通过实时复制将数据从主数据库同步到备份服务器,从而实现数据的高可用性和持续性备份。
实时备份通常用于需要实时数据访问的关键业务系统。
三、恢复技术1. 完全恢复完全恢复是将整个数据库从备份设备中还原到原始状态的过程。
通过完全备份和完整的事务日志,可以实现数据库的完全恢复。
2. 部分恢复部分恢复是只恢复数据库中的某个特定部分的过程,通常在发生故障或数据损坏时使用。
通过差异备份和相应的事务日志,可以实现部分恢复。
3. 热备份和冷备份热备份是在数据库仍然运行的情况下进行备份,不会中断对数据库的访问。
热备份通常需要使用特定的备份工具和技术,并且需要考虑并发写入数据的一致性。
冷备份是在关闭数据库之后进行备份,这样可以避免正在进行的事务对备份的影响。
冷备份需要确保数据库在备份期间不会进行任何操作,因此备份和恢复时间会相对较长。
四、最佳实践根据业务需求和数据增长情况,制定备份策略并定期执行备份操作。
根据数据库的重要性,可以选择每天、每周、每月进行备份,确保数据的安全性和可信赖性。
《数据恢复技术》PPT课件
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
数据库恢复技术
1 数据库恢复概述 2 故障的种类 3 数据存储构造 4 恢复的实现技术 5 恢复策略 6 具有检查点的恢复技术 7 数据库镜像 8 小结
数据库恢复概述
事务
❖ 事务(Transaction)是用户定义的一个数据库操作序列,这些 操作要么全做,要么全不做,是一个不可分割的工作单位
❖ 事务的ACID特性: ❖ 原子性〔Atomicity〕 ❖ 一致性〔Consistency〕 ❖ 隔离性〔Isolation〕 ❖ 持续性〔Durability 〕
的事务
3 故障的种类
❖ 事务故障 ❖ 系统故障 ❖ 介质故障
三、介质故障
❖ 硬件故障使存储在外存中的数据局部丧失或全部丧 失
❖ 介质故障比前两类故障的可能性小得多,但破坏性 大得多
介质故障的常见原因
❖ 硬件故障 磁盘损坏 磁头碰撞
操作系统的某种潜在错误 瞬时强磁场干扰
介质故障的恢复
❖ 装入数据库发生介质故障前某个时刻的数据副本
disasters such as fire or flooding.
❖ Failure during data transfer can still result in inconsistent copies: Block transfer can result in
Successful completion Partial failure: destination block has incorrect information Total failure: destination block was never updated
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10 章数据库恢复技术1.试述事务的概念及事务的4 个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。
这4 个特性也简称为ACID 特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2 .为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为Q 的某种零件从仓库1 移到仓库2 存放。
则可以定义一个事务T , T 包括两个操作;Ql = Ql 一Q , Q2= Q2 + Q。
如果T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q 。
3 .数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。
4 .数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1 )事务内部的故障;(2 )系统故障;(3 )介质故障;(4 )计算机病毒。
事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。
5 .数据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
6 .数据库转储的意义是什么?试比较各种数据转储方法。
答:数据转储是数据库恢复中采用的基本技术。
所谓转储即DBA 定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。
当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。
静态转储:在系统中无运行事务时进行的转储操作,如上图所示。
静态转储简单,但必须等待正运行的用户事务结束才能进行。
同样,新的事务必须等待转储结束才能执行。
显然,这会降低数据库的可用性。
动态转储:指转储期间允许对数据库进行存取或修改。
动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。
但是,转储结束时后援副本上的数据并不能保证正确有效。
因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。
为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件( 109 file )。
这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。
增量转储则指每次只转储上一次转储后更新过的数据。
从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。
但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。
7 .什么是日志文件?为什么要设立日志文件?答:(1 )日志文件是用来记录事务对数据库的更新操作的文件。
(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。
8 .登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。
有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。
如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。
所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。
9 .针对不同的故障,试给出恢复的策略和方法。
(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:事务故障的恢复:事务故障的恢复是由DBMS DBMs 执行恢复步骤是:自动完成的,对用户是透明的。
(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作;(2)对该事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库;(3 )继续反向扫描日志文件,做同样处理;(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。
系统故障的恢复:系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写入数据库;二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。
因此恢复操作就是要撤销(UNDO )故障发生时未完成的事务,重做(REDO )已完成的事务。
系统的恢复步骤是:(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO 队列)和未完成的事务队列(uNDO 队列)。
(2 )对撤销队列中的各个事务进行UNDO 处理。
进行UNDO 处理的方法是,反向扫描日志文件,对每个UNDO 事务的更新操作执行逆操作,即将日志记录中“更新前的值”Before Image )写入数据库。
( 3 )对重做队列中的各个事务进行REDO 处理。
进行REDO 处理的方法是:正向扫描日志文件,对每个REDO 事务重新执行日志文件登记的操作。
即将日志记录中“更新后的值”Afte , Image )写入数据库。
介质故障的恢复:介质故障是最严重的一种故障。
恢复方法是重装数据库,然后重做已完成的事务。
具体过程是:( 1 ) DBA 装入最新的数据库后备副本(离故障发生时刻最近的转储副本), 使数据库恢复到转储时的一致性状态;( 2 ) DBA 装入转储结束时刻的日志文件副本;( 3 ) DBA 启动系统恢复命令,由DBMS 完成恢复功能,即重做已完成的事务。
10 .什么是检查点记录?检查点记录包括哪些内容?答:检查点记录是一类新的日志记录。
它的内容包括:①建立检查点时刻所有正在执行的事务清单②这些事务的最近一个日志记录的地址。
11 .具有检查点的恢复技术有什么优点?试举一个具体的例子加以说明。
答答:利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要REDO ,哪些事务需要uNDO 。
一般来说,需要检查所有日志记录。
这样做有两个问题:一是搜索整个日志将耗费大量的时间;二是很多需要REDO 处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。
检查点技术就是为了解决这些问题。
在采用检查点技术之前,恢复时需要从头扫描日志文件,而利用检查点技术只需要从T 。
开始扫描日志,这就缩短了扫描日志的时间。
事务Tl 的更新操作实际上已经写到数据库中了,进行恢复时没有必要再REDO 处理,采用检查点技术做到了这一点。
12 .试述使用检查点方法进行恢复的步骤。
答:(1)从重新开始文件(见第11 题的图)中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
(2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE 一LIST 。
这里建立两个事务队列:1 ) UNDO 一LIST :需要执行undo 操作的事务集合;2 ) REDO 一LIST :需要执行redo 操作的事务集合。
把ACTIVE 一LIST 暂时放入UNDO 一LIST 队列,REDO 队列暂为空。
3 )从检查点开始正向扫描日志文件:①如有新开始的事务T * ,把T *暂时放入uNDO 一LlsT 队列;②如有提交的事务毛,把毛从UNDO 一LIST 队列移到REDO 一LIST 队列,直到日志文件结束;4 )对UNDO 一LIST 中的每个事务执行UNDO 操作,对REDO 一LIST 中的每个事务执行REDO 操作。
13 .什么是数据库镜像?它有什么用途?答:数据库镜像即根据DBA 的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。
每当主数据库更新时,DBMS 自动把更新后的数据复制过去,即DBMS 自动保证镜像数据与主数据的一致性。
数据库镜像的用途有:一是用于数据库恢复。
当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS 自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。
二是提高数据库的可用性。
在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。