数据库的恢复技术.ppt
《数据库的恢复技术.ppt》由会员分享,可在线阅读,更多相关《数据库的恢复技术.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章数据库恢复技术1教学目的:教学目的:理解事务的相关概念及其特性 理解三种故障以及其恢复技术 掌握backup和restore命令重点难点:重点难点:事务的概念和特性教学方法:教学方法:多媒体教学教学课时:教学课时:2课时210.1 10.1 事务的基本概念事务的基本概念 事务事务(transaction)是用户为完成一次任务所进行的一系列操作(一段用户程序)或者是为完成某种任务在机器上单独执行的一个程序。这些操作要么全做,要么全不做,是一个不可分割的工作单元。3例:某公司在银行中有A,B两个帐号,现在公司想从帐号A中取出1万元,存入帐号B。那么在A中取出1万元的操作和在B中增加1万元的操
2、作要么都成功完成,要么都不做。因此,需要把这二个操作定义在一个事务中。银行转帐:事务T从A帐户过户10000到B帐户。T:read(A);A:=A10000;write(A);read(B);B:=B+10000;write(B);read(X):从数据库传送数据项X到事务的工作区中。write(X):从事务的工作区中将数据项X写回数据库。4事务是一种机制,它确保多个SQL语句被当作单个工作单元来处理。事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS按缺省规定自动划分事务。在SQL语言中,定义事务的语句有三条:BEGINTRANSACTIONCOMMITROLLBA
3、CK事务通常是以BEGINTRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回磁盘上的物理数据库中,事务正常结束。一旦提交就不能撤销。ROLLABCK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤消,回滚到事务开始时的状态。5SQL Server中有关事务处理的语句包括:BEGIN TRANSACTION:建立一个显式事务。COMMIT TRANSACTION:标识一个显式事务或隐式事务正常结束而提交。SAVE TRANSACTION
4、:在事务内定义一个存储点标记。ROLLBACK TRANSACTION:回滚事务。一、一、事务的处理语句事务的处理语句6(1)(1)定义和提交事务定义和提交事务BEGIN TRANSACTION和COMMIT TRANSACTION的语句格式:BEGIN TRANSACTION 事务名称 SQL 语句 COMMIT TRANSACTION说明:哪些SQL语句组成一个事务由用户根据情况而定。定义一个事务时,BEGIN TRANSACTION语句与COMMIT TRANSACTION语句必须成对出现。7例:begintransactionhjdeletefromstudentwhere学号=b00
5、3deletefromscwhere学号=b003committransaction8回滚事务就是消除事务执行的影响。语句格式:ROLLBACK TRANSACTION 事务名称|存储点名称该语句回滚整个事务或是存储点定义以后所发生的事务。ROLLBACK TRANSACTION语句应在COMMIT TRANSACTION语句之前调用。因为一旦提交就不能撤销。(2)(2)回滚事务回滚事务例:begintransactionhjdeletefromstudentwhere学号=b004rollbacktransaction9(3)(3)定义存储点标记定义存储点标记在事务内建立一个存储点标记。在存
6、储点标记之前事务所完成的更新操作已提交到数据库中,不能回滚。在存储点名称标记之后事务执行的部分操作可以由ROLLBACK TRANSACTION语句回滚,即只能回滚在存储点名称标记之后事务执行的部分操作。SAVE TRANSACTION语句的格式为:SAVE TRANSACTION 存储点名称10例:下面例子说明怎样建立一个用户定义事务及事务中的存储点、回滚操作和事务提交操作。BEGINTRANSACTIONdemoSELECT*FROMstudentINSERTstudent(学号,姓名)VALUES(b100,张三)SAVETRANSACTIONsave_demo/*存储点*/INSERT
7、student(学号,姓名)VALUES(b101,李四)SELECT*FROMstudentROLLBACKTRANSACTIONsave_demo/*回滚*/COMMITTRANSACTIONSELECT*FROMstudent11二、二、事务的特性事务的特性原子性(Atomicity):all-or-none,A贷方-100万,B借贷+100万,即事务中的诸操作要么都做,要么都不做。当事务非正常终止时,其中间结果将被取消。事务的原子性保证数据库的状态总是从一个一致性的状态变化到另一个一致性的状态,而不会出现不一致的中间状态。一致性(Consistency):又称可串行性,并发执行的几个事
8、务,其操作结果应与以某种顺序串行执行这几个事务所得出的结果相同,因此称为可串行性。这种可串行性的并发调度是由数据库系统的并发控制机制来完成的,以保证并发事务执行时的数据库状态的一致。如转账平衡,A+B的总和不变。12分离性(Isolation):一个事务执行,不被其他事务所干扰。一个没执行完的事务不能在其提交之前把自己的中间结果提供给其他的事务使用。因为未提交的结果不是最终的结果,它有可能在以后的执行中被迫取消,如果其他的事务用到了它的中间结果,那么该事务也要夭折。如果这些事务已有的被提交了,则其结果也不得不被取消,从而和持久性相背,所以隔离性对有效实现事务的概念是非常重要的。持久性(Dura
9、bility):永久性,提交事务后,不受其他操作或故障影响。13保证事务ACID特性是事务管理的重要任务。事务ACID特性可能遭到破坏的因素有:(1)多个事务并行运行时,不同事务的操作交叉执行。(2)事务在运行时被强行停止。在第一种情况下,数据库管理系统必须保证多个事务的交叉运行不影响这些事务的原子性。在第二种情况下,数据库管理系统必须保证被强行终止的事务对数据库和其他事务没有任何影响。1410.2 10.2 数据库恢复概述数据库恢复概述数据库恢复操作是指在系统出现故障时,由系统管理员或数据库所有者从数据库备份和日志文件的备份中恢复系统或用户数据库。数据库恢复的目标是使之恢复到故障发生之前数据
10、库最后的完整性状态。15故障是不可避免的,故障的由来:计算机硬件故障系统软件和应用软件的错误操作员的失误恶意的破坏故障造成的影响运行事务非正常中断影响数据库数据的正确性破坏数据库,使数据库全部或部分数据丢失1610.3 数据库系统的主要故障数据库系统可能发生的主要故障有三种:-事务故障-系统故障-介质故障-计算机病毒17事务故障的概念不丢失信息故障。是指事务在运行过程中由于命令无法执行使事务未运行至正常终止点而夭折的情况。如:输入数据有误、运算溢出、违反了某些完整性限制、某些应用程序出错、并行事务发生死锁。事务故障的恢复发生事务故障时,夭折的事务可能已对数据库进行了修改。恢复程序要在不影响其他
11、事务运行的情况下,强行回滚(rollback)该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样。这类恢复操作称为撤销(undo)。1、事务故障18例:银行转帐事务,把一笔金额从A转到B。begintransactionselectbalancefromaccoutwhereaccount_no=A;balance_A=balance;balance_A=Balance_A-amount;if(balance_A0)then打印金额不足,不能转帐;rollback;elseupdateaccountsetbalance=balance_Awhereaccount_
12、no=A;selectbalancefromaccountwhereaccount_no=B;balance_B=balance;balance_B=balance_B+account;updateaccountsetbalance=balance_Bwhereaccount_no=B;committransaction192、系统故障什么是系统故障(软故障Soft Crash)丢失主存信息故障。是指系统在运行过程中,由于某种原因,如操作系统或DBMS代码错误、操作员操作失误、特定类型的硬件错误(如CPU故障)、突然停电等造成系统停止运行,致使所有正在运行的事务都非正常终止。内存中数据库缓冲区
13、的信息全部丢失,但存储在外部存储设备上的数据未受破坏等情况。系统故障的恢复系统故障造成数据库不一致状态的原因有两个,一是一些未完成事务对数据库的更新已写入数据库,二是一些已提交事务对数据库的更新还留在缓冲区,没来得及写入数据库。因此,恢复操作就是要撤消故障发生时未完成的事务,重做(redo)已完成的事务。203、介质故障什么是介质故障(硬故障Hard Crash)丢失辅存中信息的故障。是指系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞、或操作系统的某种潜在错误,瞬时强磁场干扰等使存储在外存中的数据部分丢失或全部丢失的情况。介质故障的恢复发生介质故障后,存储在磁盘上的数据被破坏,这时需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 恢复 技术
限制150内