1、重庆邮电大学移通学院毕业设计(论文)I重庆邮电大学移通学院毕业设计(论文)任务书设计(论文)题目 数据库恢复技术研究 学生姓名 殷圣林 系别 计算机 专业 网络工程 班级 02120801 指导教师 翟喜成 职称 副教授 联系电话 教师单位重庆邮电大学移通学院计算机系下任务日期_2012_年_1_月_7_日主要研究内容、方法和要求研究内容:1 数据库中的几种故障类型。2.数据库恢复的基本概念和意义。3 数据库恢复的方法和备份。4 数据库恢复的优化。研究方法:1、先自己看一下数据库故障类型及其产生原理原因。咨询导师研究方向及着重点。2、对设计题目进行深入分析,规划好设计的入手点和方向。 3、在老
2、师的指导下,完成课题设计的初步提纲。4、继续深入阅读学习,掌握相关概念,完成论文的总体概况。5、进一步对课题进行实施,和完善! 要求:实现数据库丢失数据的恢复。进度计划第 4 周第 8 周:查询资料,对相关的资料进行学习和理解;第 9 周第 11 周:着手对课题进行编写实验,并分析相关实验的结果;第 12 周第 13 周:分析结果,总结并撰写毕业论文第 14 周第 15 周:修改并完善论文,在对论文进行整体的整合准备答辩。主要参考文献1 王珊 萨师煊 著 数据库系统概论(第四版)高等教育出版社 20062 何玉洁 李宝安编著 数据库系统教程 人民邮电出版社 20103 苗雪兰等:数据库系统原理
3、及应用(第三版) ,机械工业出版社,2009指导教师签字: 2012 年 月 日教研室主任签字: 2012 年 月 日重庆邮电大学移通学院毕业设计(论文) 摘要II【摘要】信息技术不断革新不断发展的今天,计算机技术已经应用到各个领域,在一切以信息为交流基础的现在,数据库技术发挥了巨大的作用,所有数字信息的存储依赖于数据库技术,在当今的信息时代,数据的安全显得尤为重要,因此研究数据丢失,预防方法及其恢复技术就成为一个重要的课题。而数据库恢复功能就是数据库安全至关重要的功能。数据库恢复技术是一种被动的保护方法,而数据库完整性、安全性及并发控制则是主动的保护方法,这两种方法的有机结合才能使数据库得到
4、有效保护。然而实际应用中数据库的安全总是面临着很多的威胁(硬件故障、网络故障、进程故障和系统故障)影响着数据的安全。而当数据库在发生以上诸多因素导致的故障后,我们就需要能够重建数据库,恢复数据库中的信息,这种技术就叫数据库恢复技术。本论文设计就是围绕数据库恢复技术的研究,设计主体研究规划是先熟悉了解数据库原理,了解数据库工作机制,预测数据库工作中可能发生的数据故障,深入了解学习数据库故障机制,再对数据库恢复技术深入研究,最后再分析恢复结果完善设计!【关键词】数据安全,数据库恢复,数据丢失,数据库重庆邮电大学移通学院毕业设计(论文) AbstractIII【Abstract】At this In
5、formation technology innovation development of today , Computer technology has been used in various fields ,In all the information for the exchange basis now ,Database technology play a impotent role , All digital information storage dependent on database technology, In the modern era of information
6、, Data security is particularly important, so the data loss, prevention and recovery technology is becoming a very important issue. And the database recovery function is the database security crucial functions. Restore database technology is a kind of passive protection method, and the database inte
7、grity, security and the concurrent control is active protection method, the two methods of the organic combination of the database can be effectively protected.But in actual application of the database security is always faced with a lot of threat (hardware failure, network fault, process and system
8、 fault fault) affect the safety of the data. And when the database in the above factors lead to happen after the failure, we need to restore the database, restore the information in the database, this technology is called database recovery technology.This paper is designed around database recovery t
9、echnology research, design subject research planning is to be familiar with the database first principle, understand the database working mechanism, prediction database work to happen in fault data, understand learning database failure mechanism, and then a database recovery technology research, and
10、 finally to analysis the recovery design perfect !【 key words 】 Data security;DataBase recovery ;Data loss;DataBase重庆邮电大学移通学院毕业设计(论文) 目录IV目 录前 言 1第 1 章 数据库恢复的概述 21.1 数据库复的概述 .21.2 数据库系 统的概念 .21.2.1 数据库(Data Base) 、数据 31.2.2 数据库管理系统(DataBase Management System ,DBMS) 31.2.3 数据库系统和数据库管理员 .41.3 数据模型 1 5
11、1.4 数据库系统模式的概念 .81.4.1 内模式(Internal Schema) .91.4.2 模式(Schema) .91.4.3 外模式(External Schema) 101.5 本章小结 .13第 2 章 事务的相关概念和故障的种类 132.1 事务的基本概念 .132.1.1 事务的基本概念 .132.1.2 如何定义事务 .132.1.3 事务的特性 .142.2 故障 8的种 类 152.2.1 事务故障 .162.2.2 系统故障 .172.2.3 介质 故障 .172.2.4 计算机病毒 .182.3 本章小结 .18第 3 章 数据恢复的实现技术 193.1 数据
12、库恢复的基本原理 .193.2 数据转储与恢复 .193.2.1 静态转储 .203.2.2 动态转储 .203.3 海量转储和增量转储 .223.4 登记日志文件 .223.4.1 日志文件的内容 .223.4.2 日志文件的用途 .233.4.3 记日志文件的原则 .243.5 数据库恢复新技术 .253.5.1 SQL Server 数据库逆向重建技术 253.5.2 ORACLE 恢复方法 273.5.3 数据库在归档模式下的完全恢复 .333.6 本章小结 .37重庆邮电大学移通学院毕业设计(论文) 目录V第 4 章 数据库恢复的 策略 384.1 备份的策略 .384.1.1 备份
13、内容 .384.1.2 备份频率 .404.1.3 制定备份计划 .414.1.4 备份的其它细节 .434.2 恢复策略 .434.3 灾难备份 .494.4 本章小结 .51结 束 语 52致 谢 53参考文献 54附 件 55一、英文原文 55二、中文 翻译 59重庆邮电大学移通学院毕业设计(论文) 前言1前 言在过去的10多年间,互联网市场发生不少灾难性事件,如海底光缆中断,黑客攻击和病毒肆虐等。以下为具有代表性的7大互联网灾难:1. 2000年2月,雅虎、CNN、亚马逊和eBay等大量知名网站遭遇DDoS 攻击2. 2001年7月,红色代码(Code Red) 蠕虫攻击大量网络服务器
14、,数十万台服务器被感染。3. 2003年1月,SQL Slammer蠕虫疯狂肆虐,大量系统被感染。4. 2004年12月24日土耳其ISP(互联网服务提供商)劫持整个互联网。5. 2006年12月26日,中国台湾地震导致亚洲海底光缆通信中断,修复工作持续了1个多月。6. 2007年7月24日,旧金山数据中心停电导致大量网站无法访问。7. 2008年1月至2月,地中海海底光缆中断。这些事件直接间接导致了数据库 1遭到破坏由于各方面的原因,数据库恢复技术起到重要的作用,在信息化时代,计算机数据安全 16已越来越为人们所关注,因此研究数据丢失的原因、预防办法以及数据恢复技术 4越来越显得重要。数据库
15、恢复功能是数据库的重要功能。数据库恢复技术是一种被动的保护方法,而数据库完整性、安全性及并发控制则是主动的保护方法,这两种方法的有机结合才能使数据库得到有效保护。本文设计的是数据库恢复技术的研究,其主要的特性是研究数据丢失的原因,预防数据丢失的方法,恢复丢失的数据,让数据库中的数据可以完好的体现给读者。本论文从体系上分为以下四个章节:第一章 介绍数据库恢复的相关概念。第二章 主要介绍事务的相关概念和故障的种类。第三章 介绍了数据恢复的技术。第四章 介绍了数据恢复的策略。重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述2第一章 数据库恢复的概述1.1 数据库恢复 6的概述数据库是
16、一种共享资源,因此,在数据库的使用过程中,保证数据的安全可靠,正确可用就成为非常重要的问题,它是有效使用数据库的前提。数据库被破坏的原因可归纳为:1.硬件故障,造成数据被破坏。2.数据库的并发操作引起数据的不一致性。3.然或人为地破坏,如失火、失窃、病毒和为授权人的有意纂改数据。4.对数据库数据的更新操作有误,如操作时输入错误的数据或存取数据库的程序有错等等。针对这四类问题,一般 DBMS 提供了相应的功能:1.数据库恢复:即系统失效后的数据库恢复,配合定时备份数据库,使数据不丢失数据。2.并发控制:即保证多用户能共享数据库,并维护数据的一致性。3.安全性保护:防止对数据库的非法使用,以避免数
17、据泄漏、纂改、破坏。4.完整性保护:保证数据的正确性和一致性。 尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统(恢复子系统)必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复 8。1.2 数据库系统的概念重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述3数据库技术产生于六十
18、年代中期,是计算机科学的重要分支,是计算机系统的基础软件是信息系统的核心和基础数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志; 图 1.1 数据库在计算机系统中的地位1.2.1 数据库(Data Base) 、数据数据库: 存放数据的仓库(长期储存在计算机内、有组织的、可共享的大量数据的集合);数 据: 数据库中存储的基本对象(描述事物的符号记录;种类有:数字、文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等) ;尽管数据库技术已发展成熟,但还没有一个普遍接受的、严格的定义。数据库应具备的特征/定义 1:(1)数据库是相互关联的数据的集合;(
19、2)用综合的方法组织数据;(3)具有较小的数据冗余,可供多个用户共享;(4)具有较高的数据独立性;(5)具有安全控制机制,能够保证数据的安全、可靠;(6)允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性;1.2.2 数据库管理系统(DataBase Management System )重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述4上节提到的数据库的功能/特性不是数据库中的数据固有的,是靠管理或支持数据库的系统软件DBMS提供的。DBMS任务:对数据资源进行管理,使之能为多个用户共享。保证数据的安全性/可靠性/完整性/一致性/独立性。DBMS功能:
20、1数据库定义功能定义数据库结构和存储结构;定义数据库中数据之间的联系;定义数据完整性约束条件和保证完整性的触发机制等.2数据库操纵功能完成对数据库中数据的操作:插入、删除、修改;重新组织数据库的存储结构;完成对数据库的备份/恢复等。3数据库查询功能以各种方式提供灵活的查询功能,以便方便使用数据。4数据库控制功能完成对数据库的安全性控制/完整性控制/并发控制。5数据库通信功能在分布式数据库或提供网络操作功能的数据库中还必须提供通信功能。 1.2.3 数据库系统和数据库管理员1数据库系统 (DataBase System,DBS)基于数据库的计算机应用系统,包括:以数据为主体的数据库;管理数据库的
21、系统软件DBMS ;支持数据库系统的计算机硬件环境和操作系统环境;重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述5数据库的使用会改变企事业单位的管理方式,但因为要把众多部门或用户的数据放在同一数据库中,会带来一些问题,如:数据冲突;越权使用数据;重要数据丢失 因此需要管理部门:负责和数据管理有关的工作。1.3 数据模型 1模型对客观事物、现象、过程或系统的简化描述所有的数据库系统都为它所要描述的世界建立了模型:图1.2抽象模型数据模型分为两类:概念模型: 按用户的观点对数据和信息建模,用于数据库设计;概念模型的用途:概念模型用于信息世界的建模;是现实世界到机器世界的一个中间层
22、次;是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言;重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述6对概念模型的基本要求:较强的语义表达能力;能够方便、直接地表达应用中的各种语义知识;简单、清晰、易于用户理解;逻辑模型和物理模型 :逻辑模型 按计算机系统的观点对数据建模,用于DBMS实现。物理模型 对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法;一信息世界中的基本概念(1)实体(Entity):客观存在并可相互区别的事物; (2)属性(Attribute):实体所具有的某一特性;(3)码(Key) :唯一标识实体的属性集;(4)域(Domain):属
23、性的取值范围;(5)实体型(Entity Type):具有相同属性的实体,用实体名及其属性名集合来抽象和刻画同类实体。(6)实体集:同一类型实体的集合;如:全体学生就是一个实体集。(7)联系(Relationship) :反映实体间的关系;实体(型 )内部的联系:指组成实体的各属性之间的联系。实体(型 )之间的联系:指不同实体集之间的联系。二.两个实体型之间的联系实体间的联系反映了实体之间的关系;两实体型间的联系方式:一对一联系(1:1) 定义:如果对于实体集 A中的每一个实体。重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述7实体集B 中至多有一个(也可以没有)实体与之联系,
24、反之亦然,则称实体集A与实体集B有一对一联系。记为1:1 。一对多联系(1:n) 定义:如果对于实体集 A中的每一个实体,实体集B中有n个实体(n0)与之联系。反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为 1:n.。多对多联系(m:n) 定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n0) 与之联系。反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系,记为 m:n。三概念模型的一种表示方法实体-联系方法(E-R方法)用E-R图来描述概念模型的最常用方法;E-
25、R方法也称为E-R模型;实体:用矩形框表示,框内写明实体名称;属性:用椭圆表示,框内写明属性名称,椭圆用线与相应的实体连接。联系:用菱形表示,框内写明联系名称,用无向边与相关的实体连接来,并注明联系类型(1:1,1:n或m:n)。数据模型的三要素1数据结构描述数据的静态特征,包括对数据结构和数据建联系的描述。通常按照数据结构的类型来命名数据模型:层次结构层次模型:用树型结构表示实体间联系的数据模型;重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述8网状结构网状模型:用有向图结构表示实体类型及实体间联系的数据模型。关系结构关系模型:是由若干个关系模式组成的集合,主要特征是用二维表
26、格结构表达实体集,用外鍵表示实体间联系。面向对象模型:通过对象和类的概念来建立的数据库模型。2数据操作描述数据的动态特征:一组定义在数据上的操作( 包括操作的含义、操作符、运算规则及其语言等);主要操作:检索与更新(插入、删除、修改) 3. 数据的约束条件完整性规则的集合,数据库中的数据必须满足这组规则。 约束条件的主要目的是使数据库与它所描述的现实系统相符合。设计时:时数据模型正确、真实、有效地反映现实;运行时:保证数据库中的数据值真实地体现现实世界的状态 ;1.4 数据库系统模式的概念数据库系统的三级模式 1不仅可以使数据具有独立性,而且还可以使数据达到共享,使同一数据满足更多用户的不同要
27、求。数据库系统的三级模式结构 :重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述9图1.3 数据库系统的三级模式1.4.1 内模式(Internal Schema)存储模式 是数据在数据库系统的内部表示,即对数据的物理结构/存储方式的描述,是低级描述,一般由DBMS提供的语言或工具完成; 要修改存储数据库的结构(例如,用倒排文件代替多链表),那么仅仅需要把这些修改反映在存储模式中; 通常我们不关心内模式的具体技术实现,而是从一般组;织的观点(即概念模式)或用户的观点(外模式)来讨论数据库的描述。但我们必须意识到基本的内模式和存储数据库的存在。1.4.2 模式(Schema)逻辑
28、模式重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述10 是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图; DBMS提供数据定义语言DDL来描述逻辑模式,严格定义数据的名称、特征、相互关系、约束等。1.4.3 外模式(External Schema)用户模式(视图) 是模式的子集或变形,是与某一应用有关的数据的逻辑表示; 不同用户需求不同,看待数据的方式也可以不同,对数据保密的要求也可以不同,使用的程序设计语言也可以不同,因此不同用户的外模式的描述可以使不同的;数据库的二级映像功能与数据独立性三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理
29、;二级映象在DBMS内部实现这三个抽象层次的联系和转换:外模式模式映像;模式内模式映像; 重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述11图1.4 数据库二级映像数据库的二级映像功能与数据独立性 保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性。 保证数据的物理独立性当数据库的存储结构改变了,模式保持不变。应用程序不受影响。重庆邮电大学移通学院毕业设计(论文) 第一章数据库恢复技术的概述121.5 本章小结本章概述了数据库的基本概念,并通过对数据管理进展情况的介绍,阐述
30、了数据库技术产生和发展的背景,也说明了数据库恢复的重要性。数据模型是数据库系统的核心和基础。本章介绍了三种注意的数据模型。数据库系统三级模式和两层映像的系统结构保证了数据库系统中能够具有较高的逻辑独立性和物理独立性。重庆邮电大学移通学院毕业设计(论文) 第二章 事务的相关概念和故障的种类13第二章 事务的相关概念和故障的种类数据库系统常常允许多个事务并发地执行,在数据库管理系统(DBMS)中,事务管理程序的任务就是要保证这些事务全都能正确地执行。事务是数据库恢复和并发控制的基本单位,保证事务的ACID特性是事务管理程序的重要任务。2.1 事务的基本概念2.1.1 事务的基本概念 15事务(Tr
31、ansaction )是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位;事务和程序是两个概念:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序一个应用程序通常包含多个事务;事务是恢复和并发控制的基本单位。2.1.2 如何定义事务 显式定义方式BEGIN TRANSACTION BEGIN TRANSACTIONSQL 语句1 SQL 语句1:SQL 语句2 SQL 重庆邮电大学移通学院毕业设计(论文) 第二章 事务的相关概念和故障的种类14语句2:。 。COMMIT ROLLBACKn 隐式方式当用户没有显式地定义事务时,DBMS按缺
32、省规定自动划分事务;事务结束:COMMIT;事务正常结束: 提交事务的所有操作(读+更新);事务中所有对数据库的更新永久生效;ROLLBACK;事务异常终止:n 事务运行的过程中发生了故障,不能继续执行;回滚事务的所有更新操作:n 事务滚回到开始时的状态;2.1.3 事务的特性事务的ACID特性: 原子性(Atomicity); 一致性(Consistency) ; 隔离性(Isolation) ; 持续性(Durability ) ; (1)原子性(Atomicity)即事务执行的原子性,事务“要么不做,要么全做” ,如果事务因故障没有完成,则该事务已做的操作认为是无效的,在恢复时必须取消该
33、事务对数据库的影响。重庆邮电大学移通学院毕业设计(论文) 第二章 事务的相关概念和故障的种类15保证原子性的思路:对于要执行写操作的数据项,在磁盘上记录其旧值,若事务没能完成执行,旧值将被恢复,好像事务从未执行。保证原子性是 DBMS 本身的责任,由“ 事务管理部件”处理。(2)一致性(Consistency)事务作用于数据库过程中,数据应始终满足完整性约束。一个事务的执行是把 DB 从一个一致的状态阿转换成另一个一致的状态。确保单个事务的一致性是对该事务编码的应用,程序元的责任,完整性给这项工作带来了便利。(3)隔离性(Isolation)即事务并发执行的相对独立性,这是事务并发控制的目标。
34、使事务并发执行的结果和某一串行执行的结果相同。即使每个事务都能确保 C、A,但如几个事务并发执行,它们的操作会以人们不希望的某种发式交叉执行,也会导致不一致状态。一种解决方法:串行执行事务(一个接一个) 。隔离性保证事务并发执行的结果和某一串行执行的结果相同。(4)持久性(Durability)DBMS中“恢复管理部件”的责任。完成了的事务对数据库的影响应是持久的,即使数据库因故障而受到破坏,DBMS 也应该能够正确的恢复数据。2.2 故障 8的种类 事务故障 系统故障 计算机病毒 介质故障重庆邮电大学移通学院毕业设计(论文) 第二章 事务的相关概念和故障的种类162.2.1 事务故障 什么是
35、事务故障某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了(有的是可以通过事务程序本身发现的,有的是非预期的)例如,银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙。BEGIN TRANSACTION读账户甲的余额BALANCE;BALANCE=BALANCE-AMOUNT;(AMOUNT 为转账金额 )写回BALANCE;IF(BALANCE 0 ) THEN 打印 金额不足,不能转账;ROLLBACK;(撤销刚才的修改,恢复事务 ) ELSE 读账户乙的余额BALANCE1;BALANCE1=BALANCE1+AMOUNT;写回BALANCE1;COMMIT; 事务故障
36、的常见原因: 输入数据有误; 运算溢出; 违反了某些完整性限制; 某些应用程序出错; 并行事务发生死锁;。 。重庆邮电大学移通学院毕业设计(论文) 第二章 事务的相关概念和故障的种类172.2.2 系统故障 什么是系统故障(称为软故障,是指造成系统停止运转的任何事件,使得系统要重新启动); 整个系统的正常运行突然被破坏; 所有正在运行的事务都非正常终止; 不破坏数据库; 内存中数据库缓冲区的信息全部丢失; 系统故障的常见原因 操作系统或DBMS代码错误; 操作员操作失误; 特定类型的硬件错误(如CPU故障); 突然停电;2.2.3 介质故障 什么是介质故障 硬件故障使存储在外存中的数据部分丢失
37、或全部丢失; 影响正在存取这部分数据的所有事务; 介质故障比前两类故障的可能性小得多,但破坏性大得多; 介质故障的常见原因 硬件故障 磁盘损坏; 磁头碰撞; 操作系统的某种潜在错误; 瞬时强磁场干;重庆邮电大学移通学院毕业设计(论文) 第二章 事务的相关概念和故障的种类182.2.4 计算机病毒计算机病毒是具有破坏性、可以自我复制的计算机程序。计算机病毒已成为计算机系统的主要威胁,自然也是数据库系统的主要威胁。因此数据库一旦被破坏仍要用恢复技术把数据库加以恢复。可能修改或破坏计算机内存或磁盘上的数据,从而导致数据库数据不正确的程序。这类故障的特征是:可能对数据库有两种影响。 数据库本身被破坏;
38、 数据库没有破坏,正在运行的事务被非正常终止,可能造成数据库数据不正确。总结各类故障: 一种人为的故障或破坏,是一些恶作剧者研制的一种计算机程序; 可以繁殖和传播;危害: 破坏、盗窃系统中的数据; 破坏系统文件; 破坏物理数据库;2.3 本章小结本章主要介绍事务的相关概念,事务是数据库的逻辑工作单位,只要 DBMS能够保证系统中一切事务的原子性、一致性、隔离性和持续性,也就保证了数据库处于一致状态。同时,介绍了四种故障事务内部的故障、系统故障、介质故障和计算机病毒,故障的解决办法。各类故障,对数据库的影响有两种可能性: 一是数据库本身被破坏; 二是数据库没有被破坏,但数据可能不正确,这是由于事
39、务的运行被非正常终止造成的。重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术19第 3 章 数据恢复的实现技术3.1 数据库恢复的基本原理数据库恢复的基本原理是建立冗余数据,对数据进行某种意义下的重复存储。基本方法是实行数据转储和建立日志文件。(1)实行数据转储:定时对数据库进行备份,其作用是为恢复提供数据基础。(2)建立日志文件:记录事务对数据库的更新操作,其作用是将数据库尽量恢复到最近状态。3.2 数据转储 8与恢复什么是数据转储 转储是指 DBA 定期将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。 恢复是指当数据库遭到破坏后
40、可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务。图 3.1 转储和恢复的关系重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术203.2.1 静态转储 在系统中无运行事务时进行的转储操作; 转储开始时数据库处于一致性状态;转储期间不允许对数据库的任何存取、修改活动得到的一定是一个数据一致性的副本。优点:实现简单;缺点:降低了数据库的可;转储必须等待正在运行的用户事务结束; 新的事务必须等待转储结束;故障发生点转 储 运行事务 正常运行 Ta Tb Tf 重装后备副本 重新运行事务恢 复 3.2
41、.2 动态转储 转储操作与用户事务并发进行; 转储期间允许对数据库进行存取或修改;动态转储的优点: 不用等待正在运行的用户事务结束; 不会影响新事务的运行;动态转储的缺点: 不能保证副本中的数据正确有效;例在转储期间的某个时刻 Tc,系统把数据 A=100 转储到磁带上,而在下一时刻 Td,某一事务将 A 改为 200。转储结束后,后备副本上的 A 已是过时的数据了。重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术21利用动态转储得到的副本进行故障恢复; 需要把动态转储期间各个事务对数据库的修改活动登记下来,建立日志文件;后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态
42、故障发生点动态转储 运行事务 正常运行 Ta Tb Tf 重装后备副本 利用日志文件恢复恢复 Ta Tb Tf 动态转储 运行事务 故障发生点 正常运行 登记日志文件 登记新日志文件 转储日志文件重装后备副本,然后利用转储的日志文件恢复恢复到一 致性状态重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术223.3 海量转储和增量转储海量转储: 每次转储全部数据库;增量转储: 只转储上次转储后更新过的数据;海量转储与增量转储比较: 从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便; 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效;转储方法的分类: 转储状
43、态动态转储 静态转储海量转储 动态海量转储 静态海量转储转储方式增量转储 动态增量转储 静态增量转储表 3.1 转储方式及其状态3.4 登记日志文件3.4.1 日志文件的内容 日志 9文件日志文件是用来记录事务对数据库的更新操作的文件。 (动态转储方式必须 建立日志文件静态转储方式最好建立日志文件) ; 日志文件的格式以记录为单位的日志文件。以数据块为单位的日志文件。以记录为单位的日志文件内容。 各个事务的开始标记(BEGIN TRANSACTION) 。各个事务的结束标记(COMMIT 或 ROLLBACK)。重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术23 各个事务的所
44、有更新操作。 日志文件中的一个日志记录 (log record):每个事务开始的标记、每个事务的结束标记和每个更新操作。 每个日志记录的内容主要包括: 事务标识。 操作类型(插入、删除或修改) 。 操作对象(记录 ID、Block NO.) 。 更新前数据的旧值(对插入操作,此项为空值) 。 更新后数据的新值(对删除操作, 此项为空值) 。 以数据块为单位的日志文件,日志记录的内容: 事务标识。 被更新的数据块。 更新前整个数据块的值。 更新后整个数据块的。3.4.2 日志文件的用途日志文件在数据库恢复中起着非常重要的作用,可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复
45、。具体地讲: 事务故障恢复和系统故障必须用日志文件。 在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。 在静态转储方式中,也可以建立日志文件。故障发生点静态转储 运行事务 正常运行 Ta Tb 登记日志文件重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术24重装后备副本 利用日志文件恢复事务 继续运行 介质故障恢复 3.4.3 记日志文件的原则为保证数据库是可恢复的,登记日志文件时必须遵循两条原则: 登记的次序严格按并行事务执行的时间次序。 必须先写日志文件,后写数据库。 写日志文件操作:把表示这个修改的日志记录写到日志文件。 写数据库操作:把
46、对数据的修改写到数据库中。 为什么要先写日志文件? 写数据库和写日志文件是两个不同的操作。 在这两个操作之间可能发生故障。 若先写数据库,再写日志,万一在写日志前发生故障,则这个数据库修改未登记,故障恢复时就不会知道有这个修改,当然也不可能恢复。 若先写日志后写数据库,假设在写数据库前发生故障,则在按日志进行故障恢复时一定能发现这个修改并撤消,只不过多执行一次不必要的撤消操作。例如:欲将数据库中某记录字段的值由 5 改为 8,登记日志文件后发生故障,则字段值仍为 5,日志中不会登记该事务的 COMMIT 或 ROLLBACK 记录,事务未完成,恢复时对该操作做撤消处理,将字段值改为该修改操作的旧值 5,数据库内容不变。重庆邮电大学移通学院毕业设计(论文) 第三章 数据恢复的实现技术253.5 数据库恢复新技术 8