数据库第11章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.4
检查点技术
1、什么是检查点恢复技术 检查点恢复技术就是在现有的日志文件格式中,增加 检查点记录,并增加一个重新开始文件,而且确保在登录 日志文件期间动态维护日志,提高恢复效率 。
检查点Ci的 重新开始记录 日志记录 Ci检查点记录地址 T1 D1 T2 D2 检查点记录
重新开始文件
日志文件
恢复模式
(1)简单恢复模式。此模式简略地记录大多数事务,所记 录的信息只是为了确保在系统崩溃或还原数据备份之后数据 库的一致性,但不能恢复到历史上某个时刻的情况。如果某 些数据库安全性要求不高,而对性能要求很高,那么可以选 择在简单恢复模式下。 (2)完整恢复模式。此模式完整记录了所有的事务,并保 留所有的事务日志,直到将它们备份。完整恢复模式能使数 据库恢复到故障点。对于十分重要的生产数据库,如银行、 电信系统,任何日志都不能缺少,这样的数据库就必须工作 在完整恢复模式下。 (3)大容量日志恢复模式。此模式简略地记录大多数大容 量的操作(如一次需要导入上万条记录),并完整地记录其 他事务。大容量日志恢复模式提高了大容量操作的性能,常 用作完整恢复模式的补充。
11.3.2 系统故障及恢复
1.系统故障定义 系统故障指使整个系统停止运行,需要重新启动的任何 操作。 2.系统故障的恢复步骤: (1)正向读取日志文件查找故障发生前已经提交的事务, 将其事务标记写入重做队列,同时将未完成的事务标记写 入撤销队列; (2)进行撤销处理; (3)进行重做处理,完成系统故障恢复。
11.5
1、“镜像”概念引入
镜像技术
在IT界中沿用“镜像”这个词的含义。“镜像”也 称之为“副本”。数据库镜像需要两个数据库,一个是 主体数据库,另一个是镜像数据库,两个数据库驻留在 不同的服务器上。 主体数据库和镜像数据库互为伙伴关系。主体数据 库和镜像数据库是可以相互转换的,故障转移后,伙伴 角色发生变化。 2、数据库镜像的一般结构
图11-1 具有检查点的日志文件和重新开始文件
2.检查点记录的内容: (1)建立检查点时刻所有正在执行的事务清单; (2)这些事务最近一个日志文件记录的地址。 3.检查点恢复技术中的五类事务
tc(检查点) 不需要REDO tf(系统故障)
ቤተ መጻሕፍቲ ባይዱ
T1
T2 需要REDO 需要UNDO T4 需要REDO T5 图11-2 检查点恢复技术中的五类事务务 需要UNDO
第11章 故障恢复技术
学习目标
• 理解数据转储的实现方式和日志文件 的主要构成; • 掌握不同数据库故障的恢复方法; • 理解检查点技术的实现原理; • 理解数据库镜像的基本概念; • 掌握SQL Server数据库的恢复技术。
11.1
故障恢复导论
计算机磁盘损坏和电源崩溃之类的硬件故障,系统软件和 应用软件错误,计算机病毒侵害,操作失误甚至恶意的人为破 坏仍然是不可避免的。一旦发生故障,轻则造成数据库运行事 务非正常中断,影响数据库中数据的正确性,重则破坏数据库, 使数据库中的数据部分或全部丢失。 数据库管理系统(DBMS)必须具有把数据库从错误的状态 恢复到某种逻辑一致状态(一种完整和正确的状态)的功能, 最大限度地降低损失,这就是数据库的恢复功能。DBMS所采用 的恢复技术是否行之有效是衡量系统性能优劣的重要指标。 数据库系统的恢复机制应该包括两方面的功能:一是生成 冗余数据,即对可能发生的故障作某些准备;二是重建冗余, 即利用这些冗余数据恢复数据库。 生成冗余数据最常用的技术是数据转储和建立日志文件。
10:00
10:30
11:00
12:00
12:30
2.SQL Server数据库的故障恢复功能
(1)SQL Server的备份 TSQL提供了BACKUP语句进行备份,其语法格式如下: BACKUP DATABASE <数据库名>[文件或文件组[,….n]] TO <备份设备 >[,….n] 例11.4 将整个“高校教务信息管理系统”数据库完整备份到磁盘上,并创 建一个新的媒体集。 BACKUP DATABASE 高校教务信息管理系统 TO DISK=‘C:\MSSQL\BACKUP\高校教务信息管理系统.Bak’ WITH FORMAT, NAME=‘高校教务信息管理系统的完整备份’ 例11.5 创建“高校教务信息管理系统”数据库的差异备份。 BACKUP DATABASE 高校教务信息管理系统 TO DISK=‘C:\MSSQL\BACKUP\高校教务信息管理系统差异备份.Bak’ WITH DIFFERNTIAL
完全数据库备份1
完全数据库备份2
差异数据库备份1
差异数据库备份2
差异数据库备份3
10:00
10:30
11:00
12:00
12:30
(3)完全+日志数据库备份与恢复
例11.3 设有不同时刻的两个完全数据库备份和3个日志数据库备份。
完全数据库备份1 日志数据库备 日志数据库备 份1 份2
完全数据库备份2 日志数据库备 份3
备份类型
1)完全数据库备份:完全数据库备份是将整个数据库进行备 份。 特点:数据量大,使用的存储空间也大,所需备份时间较长。 2)差异数据库备份:备份最后一次完全数据库备份以来所有 修改过的数据。 特点:差异备份的数据量比完全备份的数据量小,备份速度快。 说明:差异备份数据库恢复必须基于做过的完全数据库备份。 3)事务日志备份:事务日志是自上次事务处理日志备份以来事 务处理日志中记录的所有事务处理的一种顺序记录。 特点:将数据库恢复到某个特定的时间点或恢复到故障点。 说明:事务备份数据库恢复必须基于做过的完全数据库备份 4)数据库文件和文件组备份: 文件备份只复制单个数据文件, 文件组备份复制单个文件组中的每个数据文件,包括文件或文 件组备份过程中发生的所有数据库行为。 特点:比完全数据库备份占用的时间和空间都要小。
11.3 故障类型和恢复对策
11.3.1 事务故障及恢复
1.事务故障定义 事务故障往往指某个事务在运行过程中由于种种原因未能 运行到正常终止而夭折,也包括数据库事务误操作。 2.事务故障的恢复步骤: (1)反向读取日志文件,查找事务的更新操作; (2)对事务的更新操作进行反操作,如记录中是插入一条 数据,现在就变为删除一条数据; (3)继续重复前2步; (4)读到事务的开始标记,完成事务故障恢复。
实际应用中备份类型的组合方案
(1) 完全数据库备份与恢复
例11.1假设有3个不同时刻的完全数据库备份,如图11-6所示。
完全数据库备份1
完全数据库备份2
完全数据库备份3
10:00
11:00
12:00
(2)完全+差异数据库备份与恢复
例11.2 设有不同时刻的两个完全数据库备份和3个差异数据库 备份
2)SQL Server的恢复 TSQL提供了语句进行恢复,其语法格式如下: RESTRORE DATABASE <数据库名> FROM <备份设备 >[,….n] 例11.6 将“高校教务信息管理系统”数据库的完整备份恢复。 RESTRORE DATABASE 高校教务信息管理系统 FROM DISK=‘C:\MSSQL\BACKUP\高校教务信息管理系 统.Bak’ 例11.7 将“高校教务信息管理系统”数据库的差异备份恢复。 RESTRORE DATABASE 高校教务信息管理系统 FROM DISK=‘C:\MSSQL\BACKUP\高校教务信息管理系 统差异备份.Bak’
11.2.2 建立日志
1.日志文件概念 日志文件是用来记录事务对数据库的更新操作的文件。 2.日志文件的两种格式 以记录为单位的日志文件 以数据块为单位的日志文件。 3.日志记录的作用 日志记录可以用来进行事务故障恢复和系统故障恢复, 并协助转出产生的数据库后备副本进行介质故障恢复。 4. 日志文件登记两原则 (1)登记的次序严格按并发事务执行的时间次序; (2)必须先写日志文件,后写数据库。
4、检查点恢复数据的步骤
(1)从重新开始文件中找到最后一个检查点记录在日 志文件中的地址,由该地址在日志文件中找到最后一个 检查点记录; (2)由该检查点记录获取检查点建立时所有正在执行 的事务清单; (3)从检查点开始正向读取日志文件; (4)对需要执行UNDO操作的事务集合执行UNDO操作, 对需要制定REDO操作的事务集合执行REDO操作。
11.2
恢复的实现方法
11.2.1 数据的转储
1.转储的含义 数据的转储就是数据库的管理人员定期的将现有正 常数据库整个复制到另外一个数据存储介质上的过程。 所以,数据转储又被称为数据备份。 2.四种基本转储方式 (1)静态转储 (2)动态转储 (3)海量存储 (4)增量转储 3.数据转储特点 不增加数据库正常运行时的开销; 但不能恢复到数据库的最近的一致状态; 一般适用于小型的和不重要的数据库系统。
3、拓扑模式 两种拓扑模式:简单模式和高级模式
4、应用:往往只选择对关键数据和日志文件进行镜像
11.6 SQL Server数据库的恢复技术
1.SQL Server数据库备份恢复类型
SQL Server提供3种不同的恢复模式和4种备份类型。 恢复模式:简单恢复模式 完整恢复模式 大容量日志恢复模式 备份类型:完全数据库备份 差异数据库备份 事务日志备份 数据库文件和文件组备份
11.3.3 介质故障及恢复
1.介质故障界定 介质故障又叫硬故障,主要指磁盘出现了坏道,或整 个磁盘损坏等情况。 2.介质故障恢复的步骤: (1)数据库管理员利用转储的备份数据库恢复到转储 时的数据库状态; (2)读取日志文件中在转储结束时到此次故障发生之 间,所进行过的更新事务操作,重做这些操作,完成介 质故障恢复。 3.介质故障恢复特点: 介质故障恢复往往需要将数据备份和日志两种方法结合 起来使用。这种故障发生的概率很小,但是破坏性最大