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

上传人:豆浆 文档编号:48420073 上传时间:2018-07-15 格式:PPTX 页数:79 大小:510.22KB
返回 下载 相关 举报
数据库系统第10章 数据库恢复技术_第1页
第1页 / 共79页
数据库系统第10章 数据库恢复技术_第2页
第2页 / 共79页
数据库系统第10章 数据库恢复技术_第3页
第3页 / 共79页
数据库系统第10章 数据库恢复技术_第4页
第4页 / 共79页
数据库系统第10章 数据库恢复技术_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《数据库系统第10章 数据库恢复技术》由会员分享,可在线阅读,更多相关《数据库系统第10章 数据库恢复技术(79页珍藏版)》请在金锄头文库上搜索。

1、An Introduction to Database System1数据库系统概论 An Introduction to Database System第十章第十章 数据库恢复技术数据库恢复技术An Introduction to Database System2第十章 数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像An Introduction to Database System310.1 事务的基本概念一、什么是事务二、如何定义事务三、事务的特性An Intr

2、oduction to Database System4一、事务1.1.事务事务(Transaction)是用户定义的一个数据库操作序列,这些操 作要么全做要么全不做,是一个不可分割的工作 单元。n n事务和程序是两个概念:事务和程序是两个概念:n一个事务可以是:一条或一组SQL语句n程序:一个程序通常包含多个事务 事务是事务是恢复恢复和和并发控制并发控制的基本单位的基本单位An Introduction to Database System5一、事务【例】在银行中两个帐户之间转帐,从帐户 A转X元到帐户B。它同时涉及到两个不同帐 户的读写操作。Update zhxxset ye=ye-X w

3、here zh=AUpdate zhxxset ye=ye+X where zh=BAn Introduction to Database System6二、如何定义事务1.1.显式定义方式显式定义方式BEGIN TRANSACTION BEGIN TRANSACTIONSQL 语句1 SQL 语句1SQL 语句2 SQL 语句2 COMMIT ROLLBACK提交事务的所有操作 回滚到事务的开始状态 正常提交异常终止An Introduction to Database System7二、如何定义事务use use xscjxscjbegin begin transactiontransac

4、tioninsert insert into into studentstudentvalues values(1111 ,(1111 ,张华张华 , ,女女,20,CS),20,CS)insert insert into studentinto studentvalues(3333, values(3333, 刘洋刘洋,男男, ,20,CS)20,CS)commit transactioncommit transaction例:例:An Introduction to Database System8二、如何定义事务2.2.隐式方式隐式方式当用户没有显式地定义事务时,DBMS按缺省 规定自动

5、划分事务。默认事务:每条SQL语句都构成一个事务,隐含事务的开始和结束控制点。n若在执行该语句时遇到错误,则撤销操作;n否则,提交并保存操作的结果。An Introduction to Database System9三、事务的特性(ACID特性)为了保证数据库的完整性(正确性) ,数据库必须维护事务的ACID特性:1.1.原子性原子性(Atomicity)n事务是数据库的逻辑工作单位n事务中的所有操作要么全执行,要么都 不执行 例如:在执行Ti时,如果故障发生在write(A)和write(B)之间,则数据库中的数据就不一致An Introduction to Database System

6、10三、事务的特性(ACID特性)2.2.一致性一致性(Consistency)如果在执行事务之前的数据库是一致的,那么在执行事务之后的数据库也是一致的n一致性状态:数据库中只包含成功事务提交的结果n不一致状态:数据库中包含了失败事务的结果例如:对于Ti来说,一致性要求就是不改变帐户A和帐户B的和,否则事务就会创造或毁灭钱!An Introduction to Database System113.3.隔离性隔离性(Isolation)n一个事务内部的操作及使用的数据对其他并发事务是隔离的。n并发执行的各个事务之间不能互相干扰。三、事务的特性(ACID特性)读A=500AA-450 写回A=5

7、0 读A=500 AA-400写回A=100T2T1目的:就是要确保事务并发执行后的系统状态 ,与这些事务按某种次序串行执行串行执行后的状态是 等价的;An Introduction to Database System124.4.持续性持续性(Durability)n一个事务一旦提交,它对数据库中数据的改 变就应该是永久性的。n接下来的其他操作或故障不应该对其执行结 果有任何影响。n保证事务ACID特性是事务处理的任务n破坏事务ACID特性的因素:l多个事务并行运行时,不同事务的操作交叉执行l事务在运行过程中被强行停止三、事务的特性(ACID特性)An Introduction to Dat

8、abase System13第十章 数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像An Introduction to Database System1410.2 数据库恢复概述1.1.故障是不可避免的故障是不可避免的 计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏2.2.故障的影响故障的影响 运行事务非正常中断 破坏数据库An Introduction to Database System1510.2 数据库恢复概述3.3.数据库管理系统对故障的

9、对策数据库管理系统对故障的对策DBMS提供恢复子系统保证故障发生后,能把数据库中的数据 从错误状态恢复到某种逻辑一致的状态保证事务ACID恢复技术恢复技术是衡量是衡量DBMSDBMS优劣的重要指标之一优劣的重要指标之一An Introduction to Database System16第十章 数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像事务故障事务故障 系统故障系统故障 介质介质故障故障 计算机病毒计算机病毒An Introduction to Database

10、 System17一、事务故障1.1.事务故障事务故障某个事务在运行过程中由于种种原因未运 行至正常终止点。2.2.事务故障的常见原因事务故障的常见原因n违反了某些完整性限制n输入数据有误n运算溢出n并行事务发生死锁等。An Introduction to Database System18一、事务故障3.3.事务故障的分类事务故障的分类可预期的:应用程序可以发现的故障。如:违反了某些完整性限制输入数据有误等可由应用程序处理。 不可预期的:应用程序无法发现的故障。如:运算溢出发生死锁等应用程序无法处理,由系统进行处理。An Introduction to Database System19二、

11、系统故障1.1.系统故障系统故障(软故障)(软故障)指造成系统停止运转的任何事件,使得系统要 重新启动。n影响正在运行的所有事务,但不破坏数据库n导致内存数据丢失,所有运行事务都异常终止.2.2.系统故障的常见原因系统故障的常见原因n特定类型的硬件错误(如CPU故障)n操作系统故障或DBMS代码错误n突然停电An Introduction to Database System20三、介质故障1.1.介质故障介质故障(硬故障)使存储在外存中的数据部分丢失或全部丢失。n介质故障发生的可能性较小,但破坏性大;n破坏数据库或部分数据库,并影响正在存取 这部分数据的所有事务。2.2.介质故障的原因介质故

12、障的原因磁盘损坏、磁头碰撞、瞬时强磁场干扰等An Introduction to Database System21四、计算机病毒计算机病毒已成为计算机系统的主要威胁计算机病毒已成为计算机系统的主要威胁各种故障对数据库的破坏:1.数据库本身被破坏2.数据库没破坏,数据不正确恢复的基本原理恢复的基本原理-冗余An Introduction to Database System22第十章 数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像An Introduction to

13、Database System2310.4 恢复的实现技术n n恢复恢复机制涉及的关键问题机制涉及的关键问题如何建立冗余数据?n数据转储(backup)n登录日志文件(logging)An Introduction to Database System2410.4 恢复的实现技术10.4.1 数据转储(backup)10.4.2 登录日志文件(logging)An Introduction to Database System25一、什么是转储n转储是指DBA定期地将整个数据库复制到磁 带、磁盘或其他介质上保存起来的过程。n也称后备副本An Introduction to Database S

14、ystem26故障发生点转储 运行事务 正常运行 Ta Tb Tf重装后备副本 重新运行事务恢复 恢复到Tb时刻状态一、什么是转储An Introduction to Database System27二、转储方法1 1静态转储静态转储系统中无运行事务时进行的转储。即转储开始时数据库处于一致性状态,转 储期间不允许对数据库任何存取、修改操作。优点:实现简单;缺点:降低了数据库的可用性。转储必须等用户事务结束新事务必须等转储结束An Introduction to Database System282 2. . 动态转储动态转储转储和用户事务可以并发运行。优点:提高数据库的可用性;缺点:不能保证

15、副本中的数据正确有效。如:转储期间某个时刻Tc,系统将数据A=100转储,而在下一时刻Td某一事务将A改为200,转储结束后,后备副本上A的值已经过时。二、转储方法An Introduction to Database System292.2.动态转储动态转储二、转储方法n需要把动态转储期间各事务对数据库的修 改活动登记下来,建立日志文件;n后备副本 + 转储日志文件才能把数据库恢 复到某一时刻的正确状态。利用动态转储的副本进行故障恢复An Introduction to Database System30利用动态转储副本进行恢复Ta Tb Tf动态转储 运行事务 故障发生点 正常运行 登记日志文件 登记新日志文件转储日志文件重装后备副本,然后利用转储的日志文件恢复 恢复到一 - 致性状态An Introduction to Datab

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号