数据库原理及应用-孙浩军 第8章事务处理

数据库原理及应用-孙浩军 第8章事务处理

ID:40246628

大小:683.50 KB

页数:110页

时间:2019-07-29

数据库原理及应用-孙浩军 第8章事务处理_第1页
数据库原理及应用-孙浩军 第8章事务处理_第2页
数据库原理及应用-孙浩军 第8章事务处理_第3页
数据库原理及应用-孙浩军 第8章事务处理_第4页
数据库原理及应用-孙浩军 第8章事务处理_第5页
资源描述:

《数据库原理及应用-孙浩军 第8章事务处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库原理及应用ThePrincipleofDatabaseandapplications第八章事务处理第八章事务处理8.1事务8.2恢复技术8.3数据库恢复的技术8.4SQLServer2000的恢复技术8.5并发控制引论8.6封锁8.7并发调度的可串行性8.8协议8.9封锁的粒度8.10SQLServer2000的并发控制技术8.1事务8.1.1事务的概念8.1.2事务的性质8.1.3事务的状态8.1.1事务的概念事务所谓事务是一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位在SQL语言中,定义事务的语句有三条:BEGINTRANSACT

2、IONCOMMITROLLBACK8.1.2事务的性质事务的ACID特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)事务的性质例8.1设银行数据库中有一转账事务Ti,从账号A转过户100¥到账号B,其操作如下:Ti:read(A);A:=A-100;write(A);read(B);B:=B+100;write(B).8.1.3事务的状态8.2恢复技术故障是不可避免的计算机硬件故障系统软件和应用软件的错误操作员的失误恶意的破坏故障的影响运行事务非正常中断破坏数据库8.2.1故障种类事务故障系

3、统故障介质故障一、事务故障什么是事务故障某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了事务故障的常见原因输入数据有误运算溢出违反了某些完整性限制某些应用程序出错并行事务发生死锁…二、系统故障什么是系统故障整个系统的正常运行突然被破坏所有正在运行的事务都非正常终止内存中数据库缓冲区的信息全部丢失外部存储设备上的数据未受影响系统故障的常见原因操作系统或DBMS代码错误操作员操作失误特定类型的硬件错误(如CPU故障)突然停电系统故障系统故障主要有两种情况:(1)发生故障时,一些尚未完成的事务的部分结果己送入物理数据库,从而造成数据库可能处于不正确状态。。(2)

4、发生系统故障时,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这也会使数据库处于不一致状态。三、介质故障硬件故障使存储在外存中的数据部分丢失或全部丢失介质故障比前两类故障的可能性小得多,但破坏性大得多介质故障的常见原因磁盘损坏、磁头碰撞、操作系统的某种潜在错误、瞬时强磁场干扰8.2.2数据库恢复的原理恢复操作的基本原理:冗余恢复的实现技术:复杂一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上恢复机制涉及的关键问题1.如何建立冗余数据数据转储(backup)登录日志文件(l

5、ogging)2.如何利用这些冗余数据实施数据库恢复数据转储一、什么是转储转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程这些备用的数据文本称为后备副本或后援副本二、转储的用途当数据库遭到破坏后可以将后备副本重新装入,并重新运行自转储以后的所有夭折事务转储方法1.静态转储与动态转储2.海量转储与增量转储1.静态转储在系统中无运行事务时进行转储转储开始时数据库处于一致性状态转储期间不允许对数据库的任何存取、修改活动优点:实现简单缺点:降低了数据库的可用性转储必须等用户事务结束新的事务必须等转储结束动态转储转储操作与用户事务并发进行转储期间允许对数据库进

6、行存取或修改优点不用等待正在运行的用户事务结束不会影响新事务的运行动态转储的缺点不能保证副本中的数据正确有效动态转储利用动态转储得到的副本进行故障恢复需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态2.海量转储与增量转储海量转储:每次转储全部数据库增量转储:只转储上次转储后更新过的数据海量转储与增量转储比较从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效日志文件1.什么是日志文件日志文件(log)是用来记录事务对数据库的更

7、新操作的文件2.日志文件的格式以记录为单位的日志文件以数据块为单位的日志文件日志文件的内容3.日志文件内容各个事务的开始标记(BEGINTRANSACTION)各个事务的结束标记(COMMIT或ROLLBACK)各个事务的所有更新操作与事务有关的内部更新操作日志文件中的一个日志记录(logrecord)4.基于记录的日志文件每条日志记录的内容事务标识操作类型(插入、删除或修改)操作对象(记录ID、BlockNO.)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言,此项为空值)5.基于数据块的日志文件每条日志记录的内容事务标识(标明是

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

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

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