




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lecture数据库恢复技术,邯郸学院计算机张延军ZhangYan-junDepartmentofComputer,HandanCollege,Outline,10.1事务的基本概念10.2数据库恢复概述10.3故障的种类10.4恢复的实现技术10.5恢复策略10.6具有检查点的恢复技术10.7Oracle数据库备份与恢复10.8数据库镜像10.9小结,10.1事务处理Transaction,事务(Transaction)也称工作单元,是一个或多个SQL语句所组成的序列,这些SQL操作作为一个完整的工作单元,要么全部执行,要么全部不执行。通过事务的使用,能够使一系列相关操作关联起来,防止出现数据不一致现象。在ORACLE数据库中,事务由以下语句组成:一组相关的DML语句,修改的数据在该组语句中保持一致一个DDL语句一个DCL语句在Oracle中,事务处理从提交(Commit)、回退(Rollback)或连接到数据库之后,执行第一条SQL语句开始,到另一条提交(Commit)、回退(Rollback)或退出数据库之后结束,另外,如果一个事务中包含DDL、DCL语句,则在DDL、DCL语句执行后隐含执行Commit语句,从而结束一个事务。,10.1事务处理Transaction,事务的ACID属性:原子性(Atomicity):事务就像一个独立的工作单元。原子性保证要么所有的操作都成功,要不全都失败。如果所有的动作都成功了,我们就说这个事务成功了,不然就是失败的,然后回滚。一致性(Consistency):事务执行的结果必须是从一个一致性状态变到另一个一致性状态。一致性和原子性是密切相关的。隔离性(Isolation):事务的隔离性是指数据库中一个事务的执行不能被其它事务干扰。所以,事务应该隔离起来,目的为了防止同时的读和写操作。这就需要事务与锁同时使用。持久性(Durability):事务的持久性也称为永久性(Permanence),指事务一旦提交,则其对数据库中数据的改变就是永久的。,10.1事务处理Transaction,事务控制的命令主要有以下三个:事务提交:COMMIT事务回滚:ROLLBACK设立保存点:SAVEPOINT(作为辅助命令使用)事务开始于上一个事务结束后执行的第一个SQL语句,事务结束于下面的任一种情况的发生:执行了COMMIT或者ROLLBACK命令隐式提交(单个的DDL或DCL语句)或自动提交用户退出系统崩溃设置保存点语法:SAVEPOINT保存点名称;定义保存点ROLLBACKTO保存点名称;回滚到已定义保存点,10.1事务处理Transaction,在Oracle中,对数据的处理是在内存中进行的,只有执行了commit语句后才真正写入数据库中。事务的控制分为:显式控制及隐式控制。使用COMMIT和ROLLBACK命令是显式控制。有些情况下,事务被隐式控制,事务隐式控制可分为隐式提交和隐式回滚。当下列情况时,事务被隐式提交。执行一个DDL语句执行一个DCL语句从SQL*Plus正常退出(即使用EXIT或QUIT命令退出)当下列情况时,事务被隐式回滚。从SQL*Plus中强行退出客户端连接到服务器端异常中断系统崩溃,设置事务自动提交,默认为ONSETAUTOCOMMITON|OFF;,10.1事务处理Transaction,事务管理实例:DELETEFROMtest;ROLLBACK;撤消DELETE操作INSERTINTOtestVALUES(A);SAVEPOINTinsert_a;定义insert_a保存点INSERTINTOtestVALUES(B);SAVEPOINTinsert_b;定义insert_b保存点INSERTINTOtestVALUES(C);ROLLBACKTOinsert_b;撤消操作到insert_b保存点DELETEFROMtestWHEREtest_str=A;COMMIT;将所有修改写入数据库ROLLBACK;所有操作已经COMMIT提交,不能回滚,10.2数据库恢复概述,故障是不可避免的系统故障:计算机软、硬件故障。人为故障:操作员的失误、恶意的破坏等。数据库的恢复:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。,10.3故障的种类,故障的种类:事务内部的故障系统故障介质故障计算机病毒一.事务内部有的是可以通过事务程序本身发现的,但更多的故障是非预期的,是不能由应用程序处理的。运算溢出并发事务发生死锁而被选中撤销该事务违反了某些完整性限制等以后,事务故障仅指这类非预期的故障事务故障的恢复:撤消事务(UNDO),10.3故障的种类,二.系统故障,称为软故障:是指造成系统停止运转的任何事件,使得系统要重新启动。整个系统的正常运行突然被破坏。所有正在运行的事务都非正常终止。不破坏数据库。内存中数据库缓冲区的信息全部丢失。系统故障的常见原因:特定类型的硬件错误(如CPU故障)操作系统故障DBMS代码错误系统断电系统故障的恢复:发生系统故障时,事务未提交恢复策略:强行撤消(UNDO)所有未完成事务发生系统故障时,事务已提交,但缓冲区中的信息尚未完全写回到磁盘上。恢复策略:重做(REDO)所有已提交的事务。,10.3故障的种类,三.介质故障称为硬故障,指外存故障:磁盘损坏磁头碰撞操作系统的某种潜在错误瞬时强磁场干扰介质故障的恢复:装入数据库发生介质故障前某个时刻的数据副本。重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。四.计算机病毒:一种人为的故障或破坏,是一些恶作剧者研制的一种计算机程序,可以繁殖和传播病毒的危害:破坏、盗窃系统中的数据破坏系统文件,补充:2007年病毒翻倍2008年安全状况堪忧,安全公司F-Secure和Websence分析认为,明年的恶意软件、僵尸网络攻击、QuickTime劫持和针对iPhone的病毒将会呈爆发式增加。2007年初时,F-Secure公司的数据库里有大约25万个病毒定义,这是20多年来反病毒研究的成果。而现在过了不到一年,F-Secure的病毒库已经增加到50万个病毒定义。根据F-Secure2007年的总结报告,本年度的电脑安全状况并不乐观。除了恶意软件大幅度增加之外,今年还出现了暴风蠕虫,它是一系列后门木马和电子邮件蠕虫的统称,这些木马和蠕虫共同创建了大规模的分布式点对点僵尸网络。简言之,F-secure认为暴风蠕虫背后的犯罪团伙将会把僵尸网络租借给其他网络犯罪团伙使用,从中获取暴利。同时F-Secure的总结报告也指出,2007年盗窃网上银行登陆信息和网络游戏密码的木马越来越多,这些木马在2008年可能还将继续作恶。Runald注意到,每天F-Secure公司会发现10到40个网银木马的新变种。入侵数据库的行为在2007年危害巨大:TJX信用卡数据被盗的情况正在被不断披露,英国政府损失了大约250万公民的个人记录,还有一次钓鱼攻击获得了S的客户列表。,补充:2007年病毒翻倍2008年安全状况堪忧,展望2008:隐藏术和语音钓鱼F-Secure公司预测,在2008年会出现更多的针对移动应用和Web应用的攻击出现。Runald说:“我们将会看到更多、更先进、更强大、更快速的攻击。”Websense公司安全研究副总裁DanHubbard预测,在明年的北京奥运会期间网络攻击数量将会爆增。他说,“这是一个让全球网络犯罪集团都摩拳擦掌的时刻。”Hubbard认为,利用垃圾信息针对论坛和博客的攻击将会上升,部分原因在于对垃圾邮件的防护已经普遍起到了效果。垃圾信息发布者在热门博客和论坛上发布恶意网站的链接,试图使他们的站点在搜索引擎的结果列表中顺序更靠前。至于数据窃取,Websense预计网络犯罪者会采用多种方法伪装数据,比如“隐藏术”的使用(在图像文件里隐藏数据),以达到穿过公共防火墙暗中窃取信息的目的。最后,Websense预测语音垃圾信息和“语音钓鱼”将会上升。语音钓鱼是指使用自动语音电话实施钓鱼欺诈,企图提示用户通过移动电话输入个人信息。,补充:僵尸网络,僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序),从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。几个关键词。“bot程序”是robot的缩写,是指实现恶意控制功能的程序代码;“僵尸计算机”就是被植入bot的计算机;“控制服务器(ControlServer)”是指控制和通信的中心服务器,在基于IRC(因特网中继聊天)协议进行控制的Botnet中,就是指提供IRC聊天服务的服务器。首先是一个可控制的网络,这个网络并不是指物理意义上具有拓扑结构的网络,它具有一定的分布性,随着bot程序的不断传播而不断有新位置的僵尸计算机添加到这个网络中来。IRC协议-InstantRelayChat的缩写,可以用来实时聊天和传送资料。,补充:僵尸网络,其次,这个网络是采用了一定的恶意传播手段形成的,例如主动漏洞攻击,邮件病毒等各种病毒与蠕虫的传播手段,都可以用来进行Botnet的传播,从这个意义上讲,恶意程序bot也是一种病毒或蠕虫。Botnet的最主要的特点,就是可以一对多地执行相同的恶意行为,比如可以同时对某目标网站进行分布式拒绝服务(DDos)攻击,同时发送大量的垃圾邮件等,而正是这种一对多的控制关系,使得攻击者能够以极低的代价高效地控制大量的资源为其服务,这也是Botnet攻击模式近年来受到黑客青睐的根本原因。在执行恶意行为的时候,Botnet充当了一个攻击平台的角色,这也就使得Botnet不同于简单的病毒和蠕虫,也与通常意义的木马有所不同。僵尸网络的威胁也因此成为目前一个国际上十分关注的问题。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上黑客最青睐的作案工具。对网友而言,感染上“僵尸病毒”却十分容易。网络上搔首弄姿的美女、各种各样有趣的小游戏,都在吸引着网友轻轻一点鼠标。但事实上,点击之后毫无动静,原来一切只是骗局,意在诱惑网友下载有问题的软件。一旦这种有毒的软件进入到网友电脑,远端主机就可以发号施令,对电脑进行操控。,补充:2007上半年十大病毒,补充:熊猫烧香,法院经审理查明,李俊于2006年10月开始制作计算机病毒“熊猫烧香”,并请雷磊对该病毒提修改建议。2006年12月初,李俊在互联网上叫卖该病毒,同时也请王磊及其他网友帮助出售该病毒。随着病毒的出售和赠送给网友,“熊猫烧香”病毒迅速在互联网上传播,由此使得自动链接李俊个人网站流量大幅上升。王磊得知此情形后,主动提出为李俊卖“流量”,并联系张顺购买李俊网站的“流量”,所得收入由其和李俊平分。为了提高访问李俊网站的速度,减少网络拥堵,王磊和李俊商量后,由王磊化名董磊为李俊的网站在南昌锋讯网络科技有限公司租用了一个内存、百兆独享线路的服务器,租金由李俊、王磊每月各负担元。张顺购买李俊网站的流量后,先后将九个游戏木马挂在李俊的网站上,盗取自动链接李俊网站游戏玩家的“游戏信封”,并将盗取的“游戏信封”进行拆封、转卖,从而获取利益。从2006年12月至2007年2月,李俊共获利14.5万元,王磊共获利8万元,张顺共获利1.2万元。,10.4恢复的实现技术,恢复操作的基本原理:冗余,利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据。恢复机制涉及的关键问题:如何建立冗余数据:数据转储(backup)和登录日志文件(logging)。如何利用这些冗余数据实施数据库恢复。数据转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程,备用的数据称为后备副本或后援副本。转储是十分耗费时间和资源的,不能频繁进行。1静态转储与动态转储2海量转储与增量转储一.静态转储是在系统中无运行事务时进行的转储操作。转储开始时数据库处于一致性状态,转储期间不允许对数据库的任何存取、修改活动,得到的一定是一个数据一致性的副本。优点:实现简单缺点:降低了数据库的可用性转储必须等待正运行的用户事务结束新的事务必须等转储结束,10.4恢复的实现技术,二.动态转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。优点:不用等待正在运行的用户事务结束。不会影响新事务的运行。动态转储的缺点:不能保证副本中的数据正确有效。利用动态转储得到的副本进行故障恢复:需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件,后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态三.海量转储:每次转储全部数据库四.增量转储:只转储上次转储后更新过的数据海量转储与增量转储比较从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。,10.4.2登记日志文件,一、日志文件的格式和内容:日志文件(log)是用来记录事务对数据库的更新操作的文件。日志文件的格式:以记录为单位的日志文件:各个事务的开始标记(BEGINTRANSACTION)各个事务的结束标记(COMMIT或ROLLBACK),各个事务的所有更新操作。事务标识(标明是哪个事务)操作类型(插入、删除或修改)操作对象(记录内部标识)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言,此项为空值)以数据块为单位的日志文件:每条日志记录的内容:事务标识(标明是那个事务)被更新的数据块,10.4.2登记日志文件,日志文件的作用:进行事务故障恢复进行系统故障恢复协助后备副本进行介质故障恢复基本原则登记的次序严格按并行事务执行的时间次序必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录写到日志文件写数据库操作:把对数据的修改写到数据库中,10.5恢复策略,10.5.1事务故障的恢复10.5.2系统故障的恢复10.5.3介质故障的恢复一、事务故障:事务在运行至正常终止点前被终止恢复方法:由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复由系统自动完成,对用户是透明的,不需要用户干预。1.反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。2.对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。插入操作,“更新前的值”为空,则相当于做删除操作。删除操作,“更新后的值”为空,则相当于做插入操作。修改操作,则相当于用修改前值代替修改后值。,10.5.2系统故障的恢复,二、系统故障造成数据库不一致状态的原因:未完成事务对数据库的更新已写入数据库已提交事务对数据库的更新还留在缓冲区没来得及写入数据库恢复方法1.Undo故障发生时未完成的事务2.Redo已完成的事务系统故障的恢复由系统在重新启动时自动完成,不需要用户干预。系统故障的恢复步骤:1.正向扫描日志文件(即从头扫描日志文件)重做(REDO)队列:在故障发生前已经提交的事务,既有BEGINTRANSACTION记录,也有COMMIT记录。撤销(Undo)队列:故障发生时尚未完成的事务,只有BEGINTRANSACTION记录,无相应的COMMIT记录。,10.5.2系统故障的恢复,2.对撤销(Undo)队列事务进行撤销(UNDO)处理:反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。3.对重做(Redo)队列事务进行重做(REDO)处理:正向扫描日志文件,对每个REDO事务重新执行登记的操作,即将日志记录中“更新后的值”写入数据库。三、介质故障的恢复:1.重装数据库。2.重做已完成的事务。介质故障的恢复需要DBA介入DBA的工作:1.重装最近转储的数据库副本和有关的各日志文件副本。2.执行系统提供的恢复命令。具体的恢复操作仍由DBMS完成。,10.6具有检查点的恢复技术,问题的提出:搜索整个日志将耗费大量的时间。REDO处理:重新执行,浪费了大量时间。具有检查点(checkpoint)的恢复技术:在日志文件中增加检查点记录(checkpoint)。增加重新开始文件。恢复子系统在登录日志文件期间动态地维护日志。解决方案:使用具有检查点(checkpoint)的恢复技术。在日志文件中增加检查点记录(checkpoint)。增加重新开始文件。恢复子系统在登录日志文件期间动态地维护日志。检查点记录的内容:1.建立检查点时刻所有正在执行的事务清单。2.这些事务最近一个日志记录的地址。重新开始文件的内容:记录各个检查点记录在日志文件中的地址。,10.6具有检查点的恢复技术,动态维护日志文件的方法:周期性地执行如下操作:建立检查点,保存数据库状态。具体步骤是:1.将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上。2.在日志文件中写入一个检查点记录。3.将当前数据缓冲区的所有数据记录写入磁盘的数据库中。4.把检查点记录在日志文件中的地址写入一个重新开始文件。,10.6具有检查点的恢复技术,恢复子系统可以定期或不定期地建立检查点,保存数据库状态:定期:按照预定的一个时间间隔,如每隔一小时建立一个检查点。不定期:按照某种规则,如日志文件已写满一半建立一个检查点。三、利用检查点的恢复策略:,10.7Oracle数据库备份与恢复,10.7.1脱机备份与恢复10.7.2逻辑备份与恢复10.7.3联机热备份与恢复,10.7.1脱机备份与恢复,一、脱机备份(冷备份)是在关闭数据库的情况下,将所有与数据库有关的文件利用操作系统提供的复制功能转存到其它存储设备上。脱机备份的步骤:1.关闭数据库例程。2.数据库“安装路径Oradata数据库SID文件夹”下的所有文件是与数据库相关的文件,将其复制到其它存储设备上:C:oracleoradataora控制文件:Control01.ctl、Control02.ctl、Control03.ctl数据库文件:系统表空间文件9个,扩展名为*.dbf;自定义表空间;数据文件(*.ora)。日志文件:Redo01.log、Redo02.log、Redo03.log。数据库的初始化文件:C:oracleadminorapfileinit.ora。二、脱机恢复:1.关闭数据库例程。2.将以上文件重新覆盖原来的同路径同名文件即可。,10.7.2逻辑备份与恢复,逻辑备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询分析方案
- 夏天看房活动方案策划
- 客户咨询方案汇报
- 咨询互斥方案真题
- 传统行业新营销方案模板
- 蛋白饮料原料安全报告
- 咨询类技术方案
- 咨询俱乐部运营方案
- 电力结算审核咨询方案
- 餐饮机器人营销方案模板
- 基础教育教学成果奖评审组织实施方案
- 建行考试题目及答案
- 第3课 团团圆圆过中秋 第1课时(课件)2025-2026学年道德与法治二年级上册统编版
- 第6课 从小爱科学 第1课时(课件)2025-2026学年道德与法治三年级上册统编版
- 2025年铁路建设工程质量安全监督管理人员考试试题及答案
- 2025年度事业单位公开招聘考试《综合应用能力(E类)药剂专业》新版真题卷(附解析)
- 成都麓湖生态城规划建筑产品线
- TCECS 720-2020 钢板桩支护技术规程
- 华为企业应收账款管理【案例分析】
- 应用化学专业英语unit.ppt
- 原地侧向投掷垒球教案
评论
0/150
提交评论