第十章数据库恢复技术

合集下载

数据库恢复技术及其实现方法

数据库恢复技术及其实现方法

数据库恢复技术及其实现方法数据库恢复技术是数据库管理系统中的核心功能之一,它负责将数据库从故障或者错误中恢复并使其重新可用。

在现代社会中,数据库的重要性不言而喻,因此数据库恢复技术的研究和实践显得尤为重要。

本文将介绍数据库恢复技术的一些常见方法及其实现方式,以期对读者有所帮助。

一、日志恢复技术日志恢复技术是一种常见的数据库恢复方法,它通过事务日志(transaction log)记录以及回滚操作,实现数据库的恢复。

在数据库系统中,事务日志记录了每个事务所执行的操作,包括数据的插入、修改和删除等。

通过事务日志,可以回溯到数据库发生错误前的状态,从而进行恢复。

实现方式:1. 重做(Redo)恢复:该方法是通过重新执行已经提交的事务日志来进行恢复。

当数据库发生故障时,系统会检查事务日志中未提交的事务并将其重新执行,以保证数据库的一致性和完整性。

2. 撤销(Undo)恢复:与重做恢复相反,撤销恢复是对未提交的事务进行回滚操作,将其撤回到故障发生前的状态。

通过撤销恢复,数据库可以回滚到一个更稳定的状态。

二、快照(Snapshot)恢复技术快照恢复技术是另一种常见的数据库恢复方法,它通过保存数据库的快照(即某个时间点的数据库状态)来实现恢复。

当数据库发生故障时,可以将数据库恢复到之前某个时间点的快照状态,从而达到修复的目的。

实现方式:1. 冷备份(Cold Backup):该方法是在数据库关闭的情况下进行备份,通过将数据库文件复制到其他位置来保存数据库的快照。

当数据库发生故障时,可以使用备份文件来还原数据库。

2. 热备份(Hot Backup):与冷备份不同,热备份是在数据库运行期间进行备份,而不需要关闭数据库。

通过使用特殊的备份工具,可以在数据库运行的同时备份数据库文件,并保持数据库的一致性。

三、镜像(Mirroring)恢复技术镜像恢复技术是一种高可用性的数据库恢复方法,它通过实时复制数据库到备份服务器中,以实现快速恢复。

第10章数据库恢复技术

第10章数据库恢复技术
故障发生点 转储 t0 t1 运行事务 登记日志文件 利用日志文件进行恢复 t2 继续运行事务 登记日志文件
重装副本 介质故障恢复
系统故障和事务故障恢复
11/25
登记日志文件:为保证数据库可恢复,登记日志文件时必须遵 循两条原则: 登记的次序严格按照并行事务执行的时间次序。 必须先写日志文件,后写数据库。 把对数据的修改写到数据库和把表示这个修改的日志记录写到 日志文件是两个不同的操作。有可能在这两个操作之间发生了 故障,即两个写操作只完成了一个。若先写了数据库修改,而 在日志文件中没有登记下这个修改,则以后就无法恢复这个修 改;若先写日志,但没有修改数据库,按日志文件恢复时只不 过是多执行一次不必要的UNDO操作,并不会影响数据库的正 确性。
事务的概念:用户定义的一个数据库操作序列,这些操作要么 全做,要么全不做,是一个不可分割的工作单位。如从A帐户 转帐到B帐户100元的过程是一个事务,它包括两个更新操作 :A=A-100,B=B+100,它们要么全做,要么全不做。在关 系数据库中,一个事务可以是一条SQL语句,一组SQL语句或 整个程序。事务不同于程序,一个程序通常包含多个事务。 事务的开始与结束可以由用户显式控制,如果没有显式地定义 事务,则由DBMS按缺省规定自动地划分事务。显式定义为: Begin Transction……Commit(或RollBack) 其中, Begin Transction表示事务开始, Commit为事务提 交,即告诉事务管理器事务中的所有操作都已完成,数据库处 于另一个一致性状态;而RollBack为事务回滚,即告诉事务 管理器事务执行时发生故障,所有已完成操作必须全部撤销, 滚回到事务开始的状态。这里的操作指对数据库的更新操作。
12/25

数据库恢复的基本技术

数据库恢复的基本技术

数据库恢复的基本技术数据库恢复是指在数据库发生故障或损坏后,通过一系列的技术手段将数据库恢复到正常运行状态的过程。

数据库恢复技术主要包括备份和恢复、事务日志恢复以及物理和逻辑恢复等。

本文将分别介绍这些基本的数据库恢复技术。

1.备份和恢复技术备份和恢复是数据库恢复的最基本方法。

备份指将数据库的原始数据或者副本复制到其他存储介质中,以防止原始数据丢失或损坏。

常见的备份方式包括完全备份和增量备份。

完全备份是将整个数据库完全复制到备份介质,而增量备份则是只备份自上次备份以来发生变化的数据。

当数据库发生故障时,可以通过还原备份数据来恢复数据库。

2.事务日志恢复技术事务日志是数据库中记录每一次事务操作的日志,包括事务开始、事务结束和对数据库进行的修改操作。

事务日志恢复技术是通过分析事务日志记录来实现数据库的恢复。

当数据库发生故障时,可以通过重放事务日志中的操作来恢复数据库到故障发生前的状态。

事务日志恢复主要包括正向恢复和反向恢复两种方式。

正向恢复是从备份数据开始,按照日志记录的顺序逐步重放操作,直到故障点之后的操作。

反向恢复则是从故障点开始,按照日志记录的顺序逐步撤销操作,直到备份数据的状态。

3.物理恢复技术物理恢复是指将数据库的物理文件从损坏或错误状态恢复到正常状态的过程。

常见的物理恢复技术包括点备份和增量备份恢复、崩溃恢复以及校验和恢复等。

点备份和增量备份恢复是通过使用备份数据和增量备份数据来恢复数据库。

崩溃恢复是指在数据库崩溃、主机断电等突发情况下,通过恢复到最后一次一致状态来保护数据的完整性。

校验和恢复是通过校验和验证来检测和纠正物理文件的错误,以保证数据的一致性和完整性。

4.逻辑恢复技术逻辑恢复是指通过使用数据库的逻辑结构和操作来恢复数据库。

常见的逻辑恢复技术包括数据导入和导出、数据转换以及数据修复等。

数据导入和导出是将数据库中的数据导出为文本文件或其他格式,然后再将导出的数据导入到数据库中。

数据转换是指将数据库中的数据转换为其他数据库或应用程序所需的格式。

数据库第10章数据库恢复技术

数据库第10章数据库恢复技术
– 数据库本身被破坏(介质故障) – 数据库处于不一致状态
• 数据库中包含了未完成事务对数据库的修 改(事务故障、系统故障)
• 数据库中丢失了已提交事务对数据库的修 改(系统故障)
不同类型的故障应采用不同的恢复操作
故障的种类小结(续)
恢复操作的基本原理:简单
– 任何恢复操作的原理都是一样的 – 原理:利用存储在系统其它地方的冗余数据
二、转储的用途
用途:供介质故障恢复时使用 – 一旦系统发生介质故障,数据库遭到破坏, 可以将后备副本重新装入,把数据库恢复起 来。
恢复的程度 – 重装后备副本只能将DB恢复到转储时的状 态 – 要想恢复到故障发生时的状态,必须重新运 行自转储以后的所有更新事务
转储的用途(续)
例:
正常运行
10.2 恢复的实现技术
10.2.1 数据转储 10.2.2 登记日志文件 10.2.3 恢复策略
10.2.3 恢复策略
1. 事务故障的恢复 2. 系统故障的恢复 3. 介质故障的恢复
1. 事务故障的恢复
事务故障是指事务在运行至正常终止点前被中 止
恢复方法 – 由恢复子系统应利用日志文件撤消(UNDO) 此事务已对数据库进行的修改
– 发生事务故障时,夭折的事务可能已把对数 据库的部分修改写回磁盘。
– 事务故障的恢复:事务撤消(UNDO) • 恢复程序要在不影响其它事务运行的情况 下,强行回滚(ROLLBACK)该事务, 即清除该事务对数据库的所有修改,使得 这个事务象根本没有启动过一样
二、系统故障
什么是系统故障
– 由于某种原因造成整个系统的正常运行突然 停止,致使所有正在运行的事务都以非正常 方式终止。
介质故障(续)

第十章练习题及答案

第十章练习题及答案

第十章数据库恢复技术一、选择题1.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是(A )。

A. 原子性B. 一致性C. 独立性D. 持久性2.表示两个或多个事务可以同时运行而不互相影响的是(C)。

A. 原子性B. 一致性C. 独立性D. 持久性3. 事务的持续性是指(B )A.事务中包括的所有操作要么都做,要么都不做。

B.事务一旦提交,对数据库的改变是永久的。

C.一个事务内部的操作对并发的其他事务是隔离的。

D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。

4.SQL语言中的COMMIT语句的主要作用是(C)。

A. 结束程序B. 返回系统C. 提交事务D. 存储数据5.SQL语言中用(B)语句实现事务的回滚A. CREATE TABLEB. ROLLBACKC. GRANT和REVOKED. COMMIT 6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为(A )。

A. 介质故障B. 运行故障C. 系统故障D. 事务故障7.在DBMS中实现事务持久性的子系统是(B D )。

A. 安全管理子系统B. 完整性管理子系统C. 并发控制子系统D. 恢复管理子系统8. 后援副本的作用是(C)。

A. 保障安全性B. 一致性控制C. 故障后的恢复D. 数据的转储9.事务日志用于保存(D C)。

A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作10.数据库恢复的基础是利用转储的冗余数据。

这些转储的冗余数据包括(C)。

A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本选择题答案:(1) A (2) C (3) B (4) C (5) B(6) A (7) D (8) C (9) C (10) C二、简答题1.试述事务的概念及事务的四个特性。

数据库恢复技术课件

数据库恢复技术课件
3
故障分析
定位故障原因,确需要恢复的数据。
事务日志恢复
通过日志恢复操作,将数据库恢复到故 障前的一致状态。
数据库故障预防措施
监控和报警
定期检测数据库故障的迹象, 并设置及时的报警机制。
容灾和备份
建立容灾系统和定期进行数据 库备份,以防止数据丢失。
性能优化
优化数据库的性能,提升稳定 性和可靠性。
数据库恢复的未来发展趋势
数据还原
将备份数据恢复到数据库服务器,以恢复数据库的 完整性和可用性。
快速恢复技术
1 事务日志恢复
通过回滚和重做操作,将数据库恢复到故障前的状态。
2 数据库镜像
通过实时复制和同步,将数据库复制到其他服务器,以保证可用性和灾难恢复能力。
单机数据库恢复案例
1
备份恢复
2
从备份中恢复数据,确保数据库可用。
基础恢复技术
包括数据备份和还原、数据镜像等技术,用于快速恢复数据库到某个时间点的状态。
日志恢复技术
通过数据库的事务日志,将数据库从断点处恢复到崩溃前的一致状态。
数据文件恢复技术
用于修复损坏或损失的数据库文件,以保证数据库的完整性和可用性。
备份和还原技术
数据备份
通过备份数据库,可以在数据丢失时恢复到备份点, 保证数据的安全性。
未来数据库恢复技术将更加智能化和自动化,结合人工智能和大数据分析,提高恢复的效率和准确性。
数据库恢复技术的前景和挑战
数据库恢复技术在数据安全和业务连续性方面的重要性日益凸显,但同时也 面临着快速增长的数据量和复杂性带来的挑战。
数据库恢复技术ppt课件
本课件将介绍数据库恢复技术的全貌,包括分类、原理以及各种恢复技术的 应用等内容,帮助您更好地了解和掌握数据库恢复的关键知识。

第十章-数据库恢复技术

第十章-数据库恢复技术

数据库系统概论
8
事务状态
活动状态( 初始状态):事务执行时处于这个状态 部分提交状态: 最后一条语句被执行后,还没有写到磁盘上 失败状态:发现正常的执行不能继续后 中止状态:事务回滚并且数据库已被恢复到事务开始执行前 的状态后。 进入中止状态,系统有两种选择:
重启事务 –- 仅当错误不是由事务的内部逻辑所产生的. 杀死事务 提交状态:成功完成后
数据库系统概论
29
UNDO(撤消)和REDO(重做)操作
UNDO操作: 检查那些在发生故障时正在进行,但尚未完成的事务, 如果发现它们已经将更新数据写入磁盘,则必须从日志中 找到数据的原始值,用该值将数据库恢复到事务执行前的 状态;
REDO操作: 要检查已经提交的事务对数据库的更新是否写到了磁盘 上,如果没有,则要从日志中找出更新数据,写入磁盘。
数据库系统概论
30
利用日志文件恢复
正常运行
故障发生点
静态转储
运行事务

─┼──────┼──────────┼──
Ta
Tb
Tf
登记日志文件
└───────────┴──
重装后备副本 利用日志文件恢复事务
继续运行
介质故障恢复 ─────────┴-----─-------┴──────
登记日志文件
└──────
数据库系统概论
32
§10.5 恢复策略
当系统运行过程发生故障,利用数据库后备副本和日志文件, 可以把数据库恢复到故障发生前某个一致状态。
不同故障其恢复策略不同
数据库系统概论
33
§10.5.1 事务故障的恢复
事务故障:事务在运行至正常终止点前被终止 恢复方法

第十章数据库恢复技术

第十章数据库恢复技术
close all
10.3 故障的种类
这个例子所包括的两个更新操作要么全部完成要么 全部不做。否则就会使数据库处于不一致状态, 例如只把帐户甲的余额减少了而没有把帐户乙的 余额增加。
这段程序中若产生帐户甲余额不足的情况,应用程 序可以发现并让事务滚回,撤消已作的修改,恢 复数据库到正确状态。
10.3 故障的种类
正常运行
转储
Ta
Tb
10.4 恢复的实现技术
运行事物 登记日志文件
故障发生点 Tf
重装后备副本 介质故障恢复
利用日志文件恢复事物
继续运行 登记日志文件
图10.2 利用日志文件恢复
10.4 恢复的实现技术
三、登记日志文件(logging)
为保证数据库是可恢复的,登记日志文件时必须遵循两条 原则:
1.登记的次序严格按并发事务执行的时间次序。
发生系统故障时,一些尚未完成的事务的结果可能已送 入物理数据库,有些已完成的事务可能有一部分甚至 全部留在缓冲区,尚未写回到磁盘上的物理数据库中, 从而造成数据库可能处于不正确的状态。为保证数据 一致性,恢复子系统必须在系统重新启动时让所有非 正常终止的事务回滚,强行撤消(UNDO)所有未完 成事务。重做(Redo)所有已提交的事务,以将数据 库真正恢复到一致状态。
10.5 恢复策略
当系统运行过程中发生故障,利用数据库后备副本和日 志文件就可以将数据库恢复到故障前的某个一致状态. 不同故障起恢复策略和方法也不一样。
一、事物故障的恢复
事务故障是指事务在运行至正常终止点前被中止,这时 恢复子系统应利用日志文件撤消(UNDO)此事务已 对数据库进行的修改。事务故障的恢复是由系统自动 完成的,对用户是透明的。系统的恢复步骤是: 1.反向扫描文件日志(即从最后向前扫描日志文件), 查找该事务的更新操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章 数据库恢复技术
本章目的:数据库出现故障,使得部分或全部数据丢失,怎么办?
查询操作:将所需数据页从磁盘读入缓冲区,在内存中完成查询运算。该页不 必再写回磁盘。
更新操作:将所需数据页从磁盘读入缓冲区,在内存中完成数据的插入、修改 或删除。然后将该页写回磁盘。 数据库内存缓冲区 数据页 …… 数据页 磁盘
数据库镜像
问题:出现介质故障(也包括系统故障)时,数据库系统还能继续对外提供服 务吗? • 可由镜像磁盘继续提供服务; • 同时DBMS自动利用镜像磁盘数据进行数据库的恢复; • 不需要关闭系统和重装数据库副本,当然也是有其他代价的。 例如
数据库镜像: • DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上; • DBMS自动保证镜像数据与主数据库的一致性,每当主数据库更新时, DBMS自动把更新后的数据复制过去。
故障示例
例如银行转账事务,把一笔金额从账户甲转给账户乙。 BEGIN TRANSACTION 读账户甲的余额BALANCE; BALANCE = BALANCE - AMOUNT; (AMOUNT 为转账金额) 写回BALANCE; IF( BALANCE < 0 ) THEN { 打印 '金额不足,不能转账'; 此即为事务内部可预期的故障。 ROLLBACK; 由于事务无法继续执行下去,由事务 } 自身进行处理。 ELSE { 读账户乙的余额BALANCE1; BALANCE1 = BALANCE1 + AMOUNT; 写回BALANCE1; COMMIT; 问题:这个事务编写的好吗? }
事务内部故障的恢复
恢复方法:利用日志文件撤消此事务已对数据库进行的修改。 事务故障的恢复由DBMS自动完成,一般不需要用户干预。
具体过程: 1、反向扫描文件日志(即从后向前扫描),查找该事务的更新操作; 2、对该事务的更新操作执行逆操作; 3、继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理; 4、如此处理下去,直至读到此事务的开始标记,事务故障恢复完成。
故障示例(续)
对上述银行转账事务进行重新编写。 BEGIN TRANSACTION 读账户甲的余额BALANCE; BALANCE = BALANCE - AMOUNT; IF( BALANCE < 0 ) THEN { 打印 '金额不足,不能转账'; RETURN; } ELSE { 读账户乙的余额BALANCE1; BALANCE1 = BALANCE1 + AMOUNT; 写回BALANCE; 问题:要是在此处出现故障呢? 写回BALANCE1; COMMIT; }
问题:你知道数据页什么时候写回磁盘吗?
事务
事务:用户定义的一个数据库操作序列,这些操作要么全做要么全不做。 • 是一个不可分割的工作单位,也是恢复和并发控制的基本单位; • 一个事务可以是一条或多条SQL语句,也可以是整个程序; • 一个程序通常包含多个事务(这也是事务与程序的区别之一)。 事务的显式定义 BEGIN TRANSACTION SQL语句1 SQL语句2 …… COMMIT BEGIN TRANSACTION SQL语句1 SQL语句2 …… ROLL省规定自动划分事务。 事务的提交:即将事务中所有对数据库的更新写回到磁盘的物理数据库中,事 务正常结束。 事务的回滚:即事务在运行过程中发生某种故障而不能继续执行,系统将事务 中对数据库的所有已完成的更新全部撤销,回滚到事务开始时的 状态。
事务的特性、事务故障及种类
日志及日志格式
日志:用来记录事务对数据库更新操作的文件。
日志文件的两种主要格式: 1、以记录为单位。日志记录的主要内容为: 事务开始标记 事务标识(标明是哪个事务) 操作类型(插入、删除或修改) 操作对象 更新前数据的旧值(对插入而言,则为空) 更新后数据的新值(对删除而言,则为空) 事务结束标记
系统故障的恢复
系统故障造成数据库不一致状态的原因: • 未完成的事务对数据库的更新可能已写入数据库; • 已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。
系统故障的恢复是由系统重新启动时DBMS自动完成,一般不需要用户干预。
恢复方法: 1、正向扫描日志文件(即从头扫描) ① 将既有事务开始,又有事务结束标志的已提交事务放至重做队列; ② 将只有事务开始,而无事务结束标志的事务放至撤销队列。 2、对撤销队列中的事务进行撤销处理,即将日志记录中“更新前的值”写入 数据库。 3、对重做队列中的事务进行重做处理,即将日志记录中“更新后的值”写入 数据库。 问题:这种恢复策略有什么问题吗?
事务的特性 • 原子性:即事务中的操作要么都做,要么都有不做; • 一致性:即事务的结果必须使数据库从一致性状态变到一致性状态; • 隔离性:即并发执行的各个事务之间不能互相干扰; • 持续性:即事务一旦提交,它对数据库中数据的改变就应该是永久性的。
事务故障:是指事务在运行至正常终止点前被终止。 常见故障大致可分为: 1、事务内务故障:是指事务本身存在问题。如运算溢出、并发事务死锁、违 反了某些完整性限制等。可以通过事务程序发现并处理; 也可能是非预期的,需要DBMS或DBA来处理。 2、系统故障:是指诸如CPU故障、操作系统故障、DBMS代码错误、系统断 电等,系统需要重新启动。 3、介质故障:是指数据库的物理存储介质出现问题,如磁盘损坏、外界强磁 干扰等。 4、计算机病毒:是指利用非正规程序更新数据库数据。 5、自然灾害等:可视为介质故障。
2、以数据块为单位。主要记录: 事务开始标记 事务标识 注意:此处不必记录操作类型和操作对象 更新前的数据块 更新后的数据块 事务结束标记
日志的作用和登记
日志文件的作用:后备副本和日志的结合才能有效地恢复数据库。 正常运行 Ta 介质故障恢复 静态转储 Tb 重装后备副本 运行事务 登记日志文件 利用日志文件恢复 继续运行 登记日志文件
具有检查点的恢复技术
上述系统故障恢复方法主要存在下列问题: • 搜索整个日志将耗费大量的时间。 • 很多需要重做的事务实际上已经将它们的更新数据写回到数据库中了,而 恢复时又重新执行了这些操作,又浪费了大量的时间。 解决办法:再增加一个“重新开始文件”,同时在日志文件中增加一类新的记 录 — 检查点记录。 • 检查点记录包括建立检查点时刻所有正在执行的事务清单; • 重新开始文件用来记录各个检查点记录在日志文件中的地址。
数据转储
数据恢复最常用的技术就是利用备份和日志。 转储:指DBA将整个数据库文件复制到磁带或另一磁盘上保存起来的过程。 • 备用的数据称为后备副本或后援副本。 • 转储十分耗费时间和资源,不能频繁进行。DBA应确定适当的转储周期。 • 静态转储:即系统中无运行事务时开始,转储期间不允许数据库更新。 • 动态转储:即转储和用户事务并发执行,转储期间允许数据库更新。 • 海量转储:即每次转储数据库的全部内容。 • 增量转储:即每次只转储上一次转储后更新过的数据。 • DBA应该制定适合的转储方式。 问题:若只有备份数据,当数据库数据发生灾难后,能恢复到什么程度呢?
问题:该结构如何 提高恢复效率?
利用检查点的恢复策略图示
系统出现故障时,恢复子系统将根据事务的不同状态采取不同的恢复策略。 Tc (检查点) T1 T2 T3 T4 T5 重做 撤销 无需处理 重做 撤销
Tf (系统故障)
时间
利用检查点的恢复策略
此时,维护日志文件的方法是周期性地执行下列操作: 1、将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上; 2、在日志文件中写入一个检查点记录; 3、将当前数据缓冲区的所有数据记录写入磁盘的数据库中; 4、把检查点记录在日志文件中的地址写入一个重新开始文件。 利用检查点的恢复策略: 1、从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地 址在日志文件中找到最后一个检查点记录; 2、由该检查点记录得到检查点建立时刻所有正在执行的事务清单A_LIST; 3、建立两个事务队列:UNDO_LIST队列和REDO_LIST队列; 4、将A_LIST暂时放入UNDO_LIST队列,REDO队列暂为空; 5、从检查点开始正向扫描日志文件,直到日志文件结束,如有新开始的事务 Ti,则将Ti暂时放入UNDO_LIST队列;如有已经提交的事务Tj,把Tj从 UNDO_LIST队列移到REDO_LIST队列; 6、对UNDO_LIST队列中的每个事务执行撤销操作; 7、对REDO_LIST队列中的每个事务执行重做操作。
问题:写日志内容和写数据库内容之间有先后顺序吗? 日志登记的两条原则: • 登记的次序严格按并发事务执行的时间次序; • 必须先写日志,后写数据库。 问题:日志文件、数据文件、备份放在同一块磁盘上是好主意吗? 若日志文件也损坏了呢? 存放数据文件与日志文件的两块不同的磁盘同时损坏可能性大吗? 日志文件大小会无限地增长吗?(不会的) 若进行了备份,则备份前的日志文件内容还有用吗?
数据库镜像的其它应用
• 当系统没出现故障时,数据库镜像还可以用于并发操作来提高系统效率。 • 但数据库镜像会降低系统效率。
介质故障的恢复
介质故障的恢复需要DBA介入。 • DBA需重装转储的数据库副本和有关的各日志文件副本; • 然后执行恢复命令,具体的由DBMS完成。 恢复方法: 1、 装入最新的后备数据库副本。 • 对静态转储的数据库副本,装入后数据库即处于一致性状态; • 对动态转储的数据库副本,还须装入转储开始时刻的日志文件副本。 2、 装入相应的日志文件副本,重做已完成的事务。
相关文档
最新文档