数据库恢复技术ppt课件.ppt

数据库恢复技术ppt课件.ppt

ID:58780184

大小:542.50 KB

页数:91页

时间:2020-10-03

数据库恢复技术ppt课件.ppt_第1页
数据库恢复技术ppt课件.ppt_第2页
数据库恢复技术ppt课件.ppt_第3页
数据库恢复技术ppt课件.ppt_第4页
数据库恢复技术ppt课件.ppt_第5页
资源描述:

《数据库恢复技术ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库恢复技术内容要求了解数据库的一致性状态;数据库运行中可能产生的故障类型,以及对数据库造成的影响。掌握事务的基本概念和事务的ACID性质;数据库恢复的实现技术;日志文件的内容及作用。举一反三:恢复的基本原理,针对不同故障的恢复策略和方法。本讲内容一、事务的基本概念二、数据库恢复概述三、故障的种类四、恢复的实现技术五、恢复策略六、具有检查点的恢复技术七、数据库镜像一、事务的基本概念1.事务的定义2.事务的ACID性质3.事务的状态变迁图1.事务的定义定义一个数据库操作序列,这些操作要么全做要么全不做一个不可分割的工作单位是数据库应用程序的

2、基本逻辑单元恢复和并发控制的基本单位事务和程序比较在关系数据库中,一个事务可以是一条或多条SQL语句、一组SQL语句或整个程序。一个程序通常包含多个事务定义事务显式定义方式BEGINTRANSACTIONSQL语句1SQL语句2。。。。。COMMITROLLBACK隐式方式当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。示例CreatetableMyFriends{namechar(6)notnull,sexchar(2),phonechar(11)notnull}BegintransactioninsertintoMyFrie

3、nds(name,sex)values(‘王国庆’,’男’)updateMyfriendssetphone=‘01067846050’wherename=‘王国庆’commit关于事务事务和程序是两个概念。BEGINTRANSACTION表示事务的开始COMMIT/ROLLBACK表示事务的结束。(1)COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写到磁盘的物理数据库中,事务正常结束。(2)ROLLBACK表示回滚,即在事务运行的过程中发生了某种例外,事务不能继续执行,系统将事务中对数据库的所有已完成的操

4、作全部撤销,回滚到事务开始时的状态。说明:这里的操作指对数据库的更新操作。思考:查询操作,对COMMIT的结果有影响吗?有必要做ROLLBACK吗?示例例:设银行数据库中有一转账事务T,从帐号A转一笔款($50)到帐号B,其操作如下:T:read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).对应的程序T:BEGINTRANSACTIONread(A);A:=A-50;write(A);if(A<0)ROLLBACK;else{read(B);B:=B+50;write(B);COMMIT;}SQ

5、L事务控制流程BegintransactionCommitRollbackSQL语句SQL语句执行成功SQL语句执行失败事务开始时的数据库更新后的数据库读写操作对数据库的访问是建立在读和写两个操作的基础上的:(1)Read(X):把数据X从磁盘的数据库中读到内存的缓冲区中。(2)Write(X):把数据X从内存的缓冲区写回磁盘的数据库。说明:在系统运行时,write操作未必导致数据立即写回磁盘,很可能先暂存在内存缓冲区中,稍后再写回磁盘。2.事务的特性(ACID特性)(1)原子性(Atomicity)(2)一致性(Consistency)(

6、3)隔离性(Isolation)(4)持续性(Durability)(1)原子性一个事务对数据库的所有操作,这些操作要么全部执行,要么什么也不做(就效果而言)。保证原子性是数据库系统本身的职责,由DBMS的事务管理子系统来实现,commit和rollback操作是其中的关键。说明:提交事务的数据更新已在内存中完成,但不一定已完全写入磁盘。不过,只要事务被提交,其更新的数据即使没有写入磁盘,也应认为是有效的,而且DBMS应保证该数据的更新要写到磁盘。(2)一致性事务执行前后保证使数据库从一个一致性状态变到另一个一致性状态。(1)事务成功提交:

7、将事务转到另一个一致性状态。(2)事务失败:将事务回退到事务执行前的一致性状态。说明:事务的一致性与原子性是密切相关的。确保单个事务的一致性是编写事务的应用程序员的职责。在系统运行时,由DBMS的完整性子系统执行测试任务。(3)隔离性在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。也就是说,并发执行的各个事务之间不能相互干扰。说明:隔离性是由DBMS的并发控制子系统实现的。(4)持久性一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。即使该事务的数据更新还未写入磁盘,系统就出现故障,也不应该对其执行

8、结果有任何影响。说明:事务的持久性由DBMS的故障管理恢复子系统实现。DBMS对事务的控制保证事务的ACID性是事务处理的重要任务。事务ACID性可能遭到破坏的因素:多个事务并发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。