版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、事务、并发控制以及数据库恢复第十章、第十一章1.事务的概念1.1事务的基本概念和特性所谓事务,用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。SQL事务定义语句:Begin Transaction(Tran)CommitRollback事务的特性(ACID):原子性(A):事务中包含的各种操作要么都做,要么都不做一致性(C):执行结果从一个一致性状态到另一个一致性状态隔离性(I):一个事务的执行不能被其它事务干扰持久性(D):一个事务一旦提交,对数据库中数据的改变是永久性的2.并发控制2.1并发操作带来的问题丢失修改:当一个事务修改了数据,并且这种修改还没有
2、还没有提交到数据库中时,另外一个事务又对同样的数据进行了修改,并且把这种修改提交到了数据库中。这样,数据库中没有出现第一个事务修改数据的结果,好像这种数据修改丢失了一样。脏读:当一个事务正在访问数据,并对数据进行了修改,而这种修改还没有提交到数据库中,这时,另一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。不可重复读:在一个事务内,多次读同一数据。在这个事务还没有结束时,另一个事务也访问该同一数据,那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,第一个事务两次读到的数据可能是不一样
3、的。幻觉读:当事务不是独立执行时发生的一种现象。2.2锁解决并发问题,常用方法是只允许事务访问该事务当前锁住的数据项。对数据项加锁的最常见的形式是共享锁和排他锁。如果事务获得数据项上的共享锁(S),则该事务可读数据项但不能写。如果事务获得数据项上的排他锁(X),则该事务可读写数据项。对于一个给定的锁类型的集合,可以定义一个兼容函数。假设U和V是任意类型的锁。如果事务T1请求对数据项加U锁,这时,事务T2在数据项上拥有V类型的锁。如果事务T1可以立即获得在数据项上的U类型锁,则说U和V两种类型的锁是兼容的,否则,不兼容。相容矩阵(P295,图11.3)2.3死锁假设有两个事务T1和T2都对数据项
4、U和V执行操作。如果T1在U上拥有排他锁,而T2正在申请U上的共享锁,那么T2必须等待T1释放U上的排他锁。同样,如果T2在V上拥有排他锁,而T1正在申请V上的共享锁,那么T1必须等待T2释放V上的排他锁。由于两个事务互相等待,哪一个事务都不继续执行下去,这种状态称为死锁状态。处理死锁有两种方法:A.使用死锁预防协议保证系统永不进入死锁状态B.允许系统进入死锁状态,然后使用死锁检测和死锁恢复机制进行恢复预防死锁有两种方法:A.通过对加锁请求进行排序或同时要求获得所有锁来保证不会发生循环等待B.使用抢占机制和事务回滚2.5锁的类型在Microsoft SQL Server系统中,锁定资源的发生有
5、两种基本形式共享锁和排它锁。但还有一些特殊情况的锁:意图锁、修改锁和模式锁。意图锁的三种类型(P304305):A.意图共享锁B.意图排它锁C.意图排它的共享锁修改锁:系统将要修改一页时使用;在系统修改该页之前,系统自动的把这个修改页锁上升到排它锁,防止锁之间发生冲突。模式锁:保证当表或索引被另一个会话参考时,不能被删除或修改其结构模式。 Microsoft SQL Server系统提供两种模式锁:模式稳定锁(确保锁定的资源不被删除)模式修改锁(确保其他会话不能参考正在修改的资源)。3.数据库恢复技术概述3.1数据库恢复概述原因:计算机系统中硬件故障、软件错误、操作员的失误以及恶意的破坏,轻则
6、造成运行事务非正常中断,重则破坏数据库,使数据库中全部或部分数据丢失。定义:从错误状态恢复到某一已知的正确状态的功能。3.2故障种类事务内部故障事务没有达到预期的终点,因此数据库可能处于不正确状态。恢复程序的任务是在不影响其它事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,这类恢复操作称为事务撤销(UNDO)。系统故障造成系统停止运转的任何事件,从而使得系统必须重新启动。系统故障主要有两种情况:发生故障时,一些尚未完成的事务的部分结果已送入物理数据库,从而造成数据库可能处于不正确的状态发生系统故障时,有些已完成的事务有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理
7、数据库中介质故障又称为硬故障,主要指外存故障。这类故障会破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。计算机病毒一种人为的故障或破坏,由一些恶意的人编制的计算机程序。这种程序像微生物学中的病毒一样进行繁殖和传播,造成对计算机系统包括数据库系统的破坏。3.3恢复的实现技术3.3.1数据转储DBA定期的将整个数据库复制到另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。数据转储有以下几类:静态转储和动态转储静态转储:在进行转储操作的过程中,系统不运行其它事务,专门进行数据转储工作。动态转储:转储期间允许其它事务对数据库进行存取或修改操作。海量转储和增量转储根据转储
8、数量的不同划分。海量转储:每次转储全部数据库。增量转储:每次只转储上一次更新过的数据。3.3.2登记日志文件日志文件的格式和内容日志文件是用来记录对数据库的更新操作的文件。不同的数据库系统采用的日志文件格式并不完全相同。日志文件主要有两种格式:以记录为单位的日志文件以数据块为单位的日志文件日志文件的作用事务故障恢复和系统故障恢复必须用日志文件在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效的恢复数据库在静态转储方式中,也可以建立日志文件3.4恢复策略3.4.1事务故障的恢复事务故障:事务在运行至正常终止点前被终止,这时恢复子系统应利用日志文件撤销此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。3.4.2系统故障的恢复系统故障的恢复就是要撤销故障发生时未完成的事务,重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京海淀区初二数学试卷
- 单细胞多组学技术研究牛卵泡生长过程中卵母细胞发育命运的分子机制
- 二零二五年度海洋资源开发海域租赁服务合同
- 2025年度解除金融数据分析合作解除协议
- 比较七氟醚和丙泊酚维持麻醉对经鼻蝶窦入路垂体腺瘤切除术后患者恢复质量的影响-前瞻性、随机对照研究
- 2025年度股份公司收购金融科技企业股权的合资协议书
- 2025年度合作社职业经理人农业电商聘用合同
- 二零二五年度门面转让及商业地产开发合同
- 2025年度文化旅游资源整合与开发合同
- 二零二五年度解除劳动合同经济补偿协议及竞业限制条款
- 服务器报价表
- 2025年高考化学试题分析及复习策略讲座
- 世界近代史-对接选择性必修 课件-高考统编版历史一轮复习
- 2024-2029年中国制浆系统行业市场现状分析及竞争格局与投资发展研究报告
- 大门封条模板
- 【“凡尔赛”网络流行语的形成及传播研究11000字(论文)】
- ppr管件注塑工艺
- 液化气站其他危险和有害因素辨识及分析
- 高中语文教学课例《劝学》课程思政核心素养教学设计及总结反思
- 中国农业银行小微企业信贷业务贷后管理办法规定
- 市政道路建设工程竣工验收质量自评报告
评论
0/150
提交评论