《事务处理技术》PPT课件

《事务处理技术》PPT课件

ID:36700715

大小:299.60 KB

页数:100页

时间:2019-05-10

《事务处理技术》PPT课件_第1页
《事务处理技术》PPT课件_第2页
《事务处理技术》PPT课件_第3页
《事务处理技术》PPT课件_第4页
《事务处理技术》PPT课件_第5页
资源描述:

《《事务处理技术》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章事务处理技术数据库恢复技术事务-用户定义的一个数据库操作序列,这些操作要么都做要么都不做,是不可分割的。事务是DBMS中的基本执行单位;事务是恢复和并发控制的基本单位如何定义事务显式定义方式BEGINTRANSACTIONBEGINTRANSACTIONSQL语句1SQL语句1SQL语句2SQL语句2…………COMMITROLLBACK隐式方式当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务COMMIT事务正常结束提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效ROLLBACK事务异常终止事务运行的过程中发生了故障,不能继续执行回滚事务的

2、所有更新操作事务滚回到开始时的状态事务的特性ACID特性A(原子性)-不可分割的逻辑工作单位。C(一致性)-事务要保证数据库从一个一致性状态到另一个一致性状态。I(隔离性)-事务内部的操作对其他事务是隔离的。D(持久性)-事务COMMIT后,对数据库的改变的持久性。1.原子性事务是数据库的逻辑工作单位事务中包括的诸操作要么都做,要么都不做2.一致性事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性状态:数据库中只包含成功事务提交的结果不一致状态:数据库中包含失败事务的结果一致性与原子性银行转帐:从帐号A中取出一万元,存入帐号B。定义一个事务,该事

3、务包括两个操作这两个操作要么全做,要么全不做全做或者全不做,数据库都处于一致性状态。如果只做一个操作,数据库就处于不一致性状态。B=B+1A=A-1BA3.隔离性对并发执行而言一个事务的执行不能被其他事务干扰一个事务内部的操作及使用的数据对其他并发事务是隔离的并发执行的各个事务之间不能互相干扰T1的修改被T2覆盖了!读A=16A←A-3写回A=13①读A=16②③A←A-1写回A=15④T2T14.持续性持续性也称永久性(Permanence)一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。事务的特性保证事

4、务ACID特性是事务处理的任务破坏事务ACID特性的因素多个事务并行运行时,不同事务的操作交叉执行事务在运行过程中被强行停止在任何情况下,DBMS都应保证事务的ACID性质。正常运行时和发生故障时,都应保证事务的ACID性质。不但在单个应用运行时应保证事务的ACID性质;而且在多个应用并行运行时,也应保证事务的ACID性质。保证事务在故障发生时满足ACID性质的措施称为恢复技术。保证多个事务在并行执行时满足ACID性质的措施称为并发控制技术。恢复和并发控制是保证事务正确运行的两项基本技术,它们被合称为事务管理。恢复技术概述故障是不可避免的计算机硬件故障系统软件和应用软

5、件的错误操作员的失误恶意的破坏故障的影响运行事务非正常中断破坏数据库数据库管理系统对故障的对策DBMS提供恢复子系统保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态保证事务ACID恢复技术是衡量系统优劣的重要指标故障的种类1、事务内部故障事务内部的故障有的是可以通过事务程序本身发现的(见下面转帐事务的例子),有的是非预期的,不能由事务程序处理的。例如:银行转帐事务,这个事务把一笔金额从一个帐户甲转给另一个帐户乙。BEGINTRANSACTION读帐户甲的余额BALANCE;BALANCE=BALANCE-AMOUNT;AMOUNT为转帐金额)IF(

6、BALANCE〈0)THEN{打印′金额不足,不能转帐′;ROLLBACK;(撤消刚才的修改,恢复事务)}ELSE{读帐户乙的余额BALANCE1;BALANCE1=BALANCE1+AMOUNT;写回BALANCE1;COMMIT;}上面这个例子所包括的两个更新操作要么全部完成要么全部不做。否则就会使数据库处于不一致状态,例如只把帐户甲的余额减少了而没有把帐户乙的余额增加。在这段程序中若产生帐户甲余额不足的情况,应用程序可以发现并让事务滚回,撤消已作的修改,恢复数据库到正确状态。事务内部更多的故障是非预期的,是不能由应用程序处理的。如运算溢出、并发事务发生死锁而被选

7、中撤消该事务、违反了某些完整性限制等。以后,事务故障仅指这类非预期的故障。事务故障的常见原因输入数据有误运算溢出违反了某些完整性限制某些应用程序出错并行事务发生死锁……发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘事务故障的恢复:撤消事务(UNDO)强行回滚(ROLLBACK)该事务清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样2.系统故障什么是系统故障整个系统的正常运行突然被破坏所有正在运行的事务都非正常终止内存中数据库缓冲区的信息全部丢失外部存储设备上的数据未受影响系统故障的常见原因操作系统或DBMS代码错误操作员操

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

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

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