欢迎来到天天文库
浏览记录
ID:36778301
大小:287.75 KB
页数:35页
时间:2019-05-10
《《数据库讲义》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、掌握事务的概念及性质2、掌握数据库恢复的基本技术和策略§1事务的基本概念§2故障的种类§3恢复的实现技术§4恢复策略本章要求:本章内容:请选择内容返回§5具有检查点的恢复技术7/16/20211数据库系统对数据库中存储的大量数据,有下面几个问题:如何使数据资源只被相关人员合理使用?如何恢复被破坏的数据?如何协调多用户的工作来保证数据的一致性?如何自动地发现用户的失误?QUESTION?7/16/20212数据库系统作为一个完善的DBMS,应该提供统一的数据保护功能来保证数据的安全可靠和正确有效!数据的安全性数据的
2、完整性并发控制数据库恢复数据保护也叫数据控制,主要包括:本章首先讨论数据库恢复技术。7/16/20213数据库系统问题:系统软、硬件故障对系统数据造成破坏时,该如何处理?例:银行转帐设从帐号A中拨一笔款X到帐号B,正常的执行过程是:查看帐号A上是否有足够的款数,即余额X?若余额3、据库系统1、事务(transaction)一个数据库操作序列,是数据库应用程序的基本逻辑单元。这些操作要么都做,要么都不做,是一个不可分割的执行单位。主要是更新操作事务标记:BEGINTRANSACTIONCOMMIT或ROLLBACK……事务开始事务提交:事务完成了其包含的所有活动,正常结束事务回滚(中止):撤消已做的所有操作,回到事务开始时的状态§1事务的基本概念7/16/20215数据库系统2、事务应具有的性质(P248)(1)原子性(Atomicity):事务执行时的不可分割性,即事务所包含的活动要么都做,要4、么都不做若事务因故障而中止,则要设法消除该事务所产生的影响,使数据库恢复到该事务执行前的状态。(2)一致性(Consistency):事务对数据库的作用应使数据库从一个一致状态到另一个一致状态例如:一个帐号的收支之差应等于余额。飞机订票系统,事务执行前后,座位与订出座位等信息必须一致。7/16/20216数据库系统(3)隔离性(Isolation):多事务并发执行,应象各事务独立执行一样,不能相互干扰。一个正在执行的事务其中间结果不能为其它事务所访问。例如:有两个事务,在同一帐号上存款和贷款:贷款事务T1存款事务T25、存入款100元贷出款50元CommitRollbackT2中止,T1也必须中止,造成链式事务中止(cascadingaborts)余额10元7/16/20217数据库系统(4)持久性(Durability):一旦事务提交,不论执行何种操作或发生何种故障,都不应对该事务的执行结果有任何影响。(5)可串行性(Serializability):并发控制正确性的标准用户程序在逻辑上是正确的,它在串行执行时没有问题;当多个事务并发执行时,可以等价于一个串行执行序列。3、事务管理任务事务管理的任务就是要保证事务满足上述性质。使事6、务不具有上述性质的因素可能是:(1)事务在运行过程中被强行终止;(2)多个事务并行运行时,不同事务的操作交叉执行。能恢复7/16/20218数据库系统因此事物管理又分为两个方面:恢复:保证事务在故障时满足上述性质的技术。并发控制:保证事务在并发执行时满足上述性质的技术。§2故障的种类数据库系统中可能发生各种各样的故障,分为以下几类。1、事务内部的故障可以通过事务程序本身发现并处理的故障如P249银行转帐事务程序在余额小于转帐额时的情形非预期的故障(不能由应用程序处理)如运算溢出、被零除、发生死锁时被选中撤消等7/7、16/20219数据库系统通常,我们所说的事务故障仅指非预期故障。事务故障意味着事务没有达到预期的终点(COMMIT或者显式的ROLLBACK),因此数据库可能处于不一致状态,恢复程序应在不影响其他事务的情况下,撤消故障事务的所有修改,使得故障事务就象没有运行一样。这类操作称为事务撤消(UNDO)。2、系统范围内的故障:软故障造成系统停止的任何事件,如CPU故障、操作系统故障、程序代码错误、断电等,使得系统必须重新启动。这类故障的特征是:影响所有正在运行的事务,但不破坏数据库。它们可引起缓冲区内容丢失,并使所有正在运8、行的事务不能到达预期终点。7/16/202110数据库系统3、介质故障:硬故障如磁盘损坏、磁头碰撞、强磁场干扰等。这类故障发生概率很小,但破坏性极大,将破坏部分甚至整个数据库的内容,并影响使用相应数据的所有事务。系统故障发生时,可能使数据库处于不一致状态:一方面,有些非正常终止事务的结果可能已写入数据库,在系统下次启动时,恢复程序必须回滚这些非
3、据库系统1、事务(transaction)一个数据库操作序列,是数据库应用程序的基本逻辑单元。这些操作要么都做,要么都不做,是一个不可分割的执行单位。主要是更新操作事务标记:BEGINTRANSACTIONCOMMIT或ROLLBACK……事务开始事务提交:事务完成了其包含的所有活动,正常结束事务回滚(中止):撤消已做的所有操作,回到事务开始时的状态§1事务的基本概念7/16/20215数据库系统2、事务应具有的性质(P248)(1)原子性(Atomicity):事务执行时的不可分割性,即事务所包含的活动要么都做,要
4、么都不做若事务因故障而中止,则要设法消除该事务所产生的影响,使数据库恢复到该事务执行前的状态。(2)一致性(Consistency):事务对数据库的作用应使数据库从一个一致状态到另一个一致状态例如:一个帐号的收支之差应等于余额。飞机订票系统,事务执行前后,座位与订出座位等信息必须一致。7/16/20216数据库系统(3)隔离性(Isolation):多事务并发执行,应象各事务独立执行一样,不能相互干扰。一个正在执行的事务其中间结果不能为其它事务所访问。例如:有两个事务,在同一帐号上存款和贷款:贷款事务T1存款事务T2
5、存入款100元贷出款50元CommitRollbackT2中止,T1也必须中止,造成链式事务中止(cascadingaborts)余额10元7/16/20217数据库系统(4)持久性(Durability):一旦事务提交,不论执行何种操作或发生何种故障,都不应对该事务的执行结果有任何影响。(5)可串行性(Serializability):并发控制正确性的标准用户程序在逻辑上是正确的,它在串行执行时没有问题;当多个事务并发执行时,可以等价于一个串行执行序列。3、事务管理任务事务管理的任务就是要保证事务满足上述性质。使事
6、务不具有上述性质的因素可能是:(1)事务在运行过程中被强行终止;(2)多个事务并行运行时,不同事务的操作交叉执行。能恢复7/16/20218数据库系统因此事物管理又分为两个方面:恢复:保证事务在故障时满足上述性质的技术。并发控制:保证事务在并发执行时满足上述性质的技术。§2故障的种类数据库系统中可能发生各种各样的故障,分为以下几类。1、事务内部的故障可以通过事务程序本身发现并处理的故障如P249银行转帐事务程序在余额小于转帐额时的情形非预期的故障(不能由应用程序处理)如运算溢出、被零除、发生死锁时被选中撤消等7/
7、16/20219数据库系统通常,我们所说的事务故障仅指非预期故障。事务故障意味着事务没有达到预期的终点(COMMIT或者显式的ROLLBACK),因此数据库可能处于不一致状态,恢复程序应在不影响其他事务的情况下,撤消故障事务的所有修改,使得故障事务就象没有运行一样。这类操作称为事务撤消(UNDO)。2、系统范围内的故障:软故障造成系统停止的任何事件,如CPU故障、操作系统故障、程序代码错误、断电等,使得系统必须重新启动。这类故障的特征是:影响所有正在运行的事务,但不破坏数据库。它们可引起缓冲区内容丢失,并使所有正在运
8、行的事务不能到达预期终点。7/16/202110数据库系统3、介质故障:硬故障如磁盘损坏、磁头碰撞、强磁场干扰等。这类故障发生概率很小,但破坏性极大,将破坏部分甚至整个数据库的内容,并影响使用相应数据的所有事务。系统故障发生时,可能使数据库处于不一致状态:一方面,有些非正常终止事务的结果可能已写入数据库,在系统下次启动时,恢复程序必须回滚这些非
此文档下载收益归作者所有