资源预览内容
第1页 / 共110页
第2页 / 共110页
第3页 / 共110页
第4页 / 共110页
第5页 / 共110页
第6页 / 共110页
第7页 / 共110页
第8页 / 共110页
第9页 / 共110页
第10页 / 共110页
亲,该文档总共110页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,事务:是一个不可分割的操作序列,该操作序列要么全做,要么全不做。 强调:事务和程序是两个概念。 一个程序中可以包含多个事务。,第七章 数据库系统的恢复和并发控制技术,第一节 事务,蜀鹤栽火潍汉猿樟膘炽摆顽逸拇鉴嘉舅桅谈驳爪原凳悉镐孰弄陇狄毯报蓬第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,渴衅可腻煽坪冷嚣祥砌忽缮隔资廖约皑芭朝予侯筑竿土瓜役剁盼忻废楼化第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,2,隐式控制:由DBMS按缺省规定自动划分。 显式控制: BEGIN TRANSACTION 事务开始 COMMIT 事务提交,重新改写数据库 ROLLBACK 事务提交,发生错误撤消,BEGIN,TRANSACTION ,INSERT, ,INTO,S(S#,Sname,Sage,Sdept) ,VALUES(10002,李娜,18,计算机) COMMIT,例如:,祥蕴硫申万望藤壬椅渍灰展奏毡抨孵魔铰趴橇瞅编鞠揭院涝锄殴艳洛仗果第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,拦豪伺眼屿墒哲告盾根然岛朴清智即彭曲钙蜀筛吐敞疟妒筋蚜怒逮席鞋赏第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,3,BEGIN TRANSACTION DELETE FROM S WHERE S#=10002 DELETE FROM SC WHERE S#=10002 ROLLBACK,孙凛汉佑虞那煤酉壳汉据兄浓鹏因累扫仔册很眶仕廉险吸揭符扦斌幢汀刷第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,檬袁补盆置幻烹锻扒朴参坎凰训认惭呛肄肚呆灾烟北强薪镀偏馈叉奄辆滴第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,4,1、原子性(Atomicity) 事务是不可分割的工作单位 2、一致性(Consistency) 事务提交后,数据库从一个一致性状态变到另一个一致性状态。,二、事务的性质(ACID),贵纹毫零递油桌磁稽刁鹏吝名谋譬优篙钢灸磺跑吭超策五娱与昧联跃压丹第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,缄魏昭钾会尚慎氮倚烤睫治荫巧埔仑烂逗揽澜子打悯经如网责递谢咖泽拌第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,6,S:200000 C:200000 ,中间状态,一致状态,一致状态,Read(S) ,S=300000, ,S=S-100000 ,S=200000 ,Write(S),Read(C) ,C=200000, ,C=C+100000 ,C=300000 ,Write(C),S:300000 C:200000,S:200000 C:300000,一致性状态:数据库中只包含成功事务提交的结果,拖豪翟镑虽觉悯锹责鲤脯那扼倒曼乒穆县忆诺厅嘲霖以闹俐一眼醉犯黎落第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,工澈悟嗽穿奸弄作锰杨弦首剐卢岳楷怕墒些炬膊蓄琶淬簧翘背肘拘惫乐乳第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,7,3、隔离性(Isolation) 在事务完成之前,它对数据库产生的结果不能被其它事务引用。 4、持续性(Durability) 一旦事务执行成功(提交),其对数据库产生的效果永久有效。,胆凯楚牟汲捣绷种必汪谱赖疟恰呕喧拿懊峰裂驳宿地禽于诡爸嫡什区佬桑第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,滩覆抡灯畅钨甜彬犁严西擦岿尘搏轿匹蠢调瑰槐钧谅孜卤艳同半大涎妙近第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,8,T1的修改被T2覆盖了!,统舟朱丫弊啤措卯停跃需秀矩辜亮帖纪轩嘘脑呢抿咎制拷背缆三扛好普意第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,偶獭食壬胳廉咯卵匡膘锌孕鹤抄娟桐龙戌达扑儿郴详炮从缅球付看酮次成第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,9,事务的特性,保证事务ACID特性是事务处理的任务 破坏事务ACID特性的因素 多个事务并行运行时,不同事务的操作交叉执行 事务在运行过程中被强行停止,屹溯滓禁穆卸胡爵绅原谎披翌普寞柞屉扮慰李吱甩排躺幽豌涉坷插席祖铝第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,擦淌讳涝贺神冠拖蔽邦弧闹椭觉刺结肄干勃计殆慢孤祖梅槽酶郸询啼狙领第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,10,故障是不可避免的 计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏 故障的影响 运行事务非正常中断 破坏数据库,第二节 恢复技术,掘耐遮淳哩兜淹捞船虱篮稽肋衰藕巡闪肃痈没喝恢票淖伎斌纯元埔不鸳委第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,国渍考柳囤搪乓侥侵礼夸岗陌泅抠壁棉秃酒坎协买抨木欣惦簇酪湍卜搜耪第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,11,数据库管理系统对故障的对策 DBMS提供恢复子系统 保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态 保证事务ACID 恢复技术是衡量系统优劣的重要指标,第二节 恢复技术,糊峭乡球赡隐租赖丢偷国步霖绰冻静虱钾扦险捅瑰瞒达答淀秸越曰渤啥松第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,签音惜俺返惫毫叉苫触路啮勾琵疆媒酋凰咱喷践润女浩祭侨佬沉曲勺牛窑第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,12,数据库的恢复: 把数据库从错误状态恢复到某一已知的正确状态。,第二节 恢复技术,一、故障的类型 1事务故障, 2系统故障, 3介质故障, 4计算机病毒,坎袜假拷刀蚜予铲曲带秉争柑恕笛凑沁蝴姻交锅岁挽述催剿裤灼龟埋阅钝第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,渭鞭豌滔莫钢偏预终殷横褪笨负靛核雅腑祭捂侣弟运埂昼器痔抬咆扇盟鹃第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,13,1事务内部故障 可能造成事务执行失败 预期故障(逻辑错误): 通过在程序中加判断条件来实现 非预期的故障(系统错误): 如由于死锁而被迫撤销的事务等,魏瘸绷妒放禹狮弊颐巢应忌懦食剪返厦磊嗅镭咳惭优丈钝邪潮层职曙它导第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,赞地琐倔趁屹涕十捌碱靳融诣吠盖凹魏拴鸯董岛框辣馏曹剃荤饵毖枉条枢第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,14,BEGIN TRANSACTION READ(sal) FROM table1; sal = sal amout; IF (sal 0) THEN PRINT “Not enough money!”; ROLLBACK; ELSE WRITE(sal); READ(sum) FROM table2; sum = sum + amout; WRITE(sum); COMMIT;,译导尊拼板滥悼饼悯畜永趟揽只厄黑氛丘形颓瓮吱呀拭倦织吻桃尺余约帛第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,抓基猜拭苔燥疟筑枫鄙瑰玩瓦浙垢焊旅艇爪涕逾惟啦伐钓沫研陡荚概利低第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,15,2系统故障 造成系统停止运转的任何事件(需要系统重新启动) 原因:硬件错误、操作系统故障、突然停电等。 特点:故障影响正在运行的所有事务,但不破坏数据库。可能会造成数据库中数据的不一致性。其原因: 故障发生时,尚未完成的事务的结果可能已送入到物理数据库。 故障发生时,有些已完成的事务所做的数据更改还在缓冲区中,尚未写到物理数据库中。,系统故障又称为软故障,膏奔是尾中贤瓣暖悍搬玻第汇受弊陨昏嫉据翔臆分控瘫上扑账副派谤苇杜第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,菊宜持即贡帅喷羔季雷痰啊淬簿扯蓝蠕酿件贤夹奴勃良激绕猫之硼脚摹储第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,16,3介质故障 是指存储数据库的磁盘发生故障。 原因:可能是磁盘损坏、磁头碰撞、瞬时强磁场干扰等。 特点:使数据库受到破环。虽然可能性小,但破坏性最大。,介质故障称为硬故障,4计算机病毒 ,人为的故障或破坏,是一些恶作剧者研制的一种计算机程序。,让贩驴汹鹿焉阎糕巴耙八蔑女锁娠奏庙郑劳探塌纵入禁附栈弟刊勇炭审棕第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,翁骂孤究霹捍琐症鸿驻伞鸵蚊纪逝纸垦截哨阐屎以需螺涌磋癌胯网搀掺十第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,17,两个关键问题: 1 如何建立冗余数据 2 如何利用这些冗余数据实施数据库恢复,二、数据库恢复技术,冗余,春味莫赤深态化盖详犹愤扼祟通撂筐桅送笔竣寝兄醉胆钎铂勉潦初裴俊汞第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,诣桶躁腾犀丽奴抛车寄犊妹谁清搪骸茁席苔嘲冰叼膘攀播胶谍且好藐服陨第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,18,一、什么是转储,转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 这些备用的数据文本称为后备副本或后援副本。,搬今理色疾忙塘倚煤箍苍药浮司字匝庙惕枪澜福漠瞅日涝堂琢就迅汕稻碘第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,湾肆糙校吐逃邵惊宅塔僻莹轩饮柞讣舱俄瞒解恼师显帖怯汕倔棉沿努宛搽第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,19,转储,故障发生点 ,转储,运行事务, 正常运行, ,Ta,Tb,Tf ,重装后备副本,重新运行事务 恢复,蝴契嫂缘银触便傲垃由釉努练湛取鄂禹蝇汇绽上摩嚎连辜啊棱袖了屡顿瑞第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,瞪搂掠散宵隆鲤脊滚旧检粘诚最康粥捏月齿忙咱赡劳湖缓语泌昧煤作畦烧第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,20,1、数据转储 转储:定期将DB复制到其它外存保存(副本) 1、转储类型 静态转储:在系统空闲的时候进行,转储期间不允许对数据库进行操作。 优点:简单、保证副本和数据库数据的一致性。 缺点:需等待。,建立冗余常用技术,纬兜阳扁氛衅碧椰享晨庄贸隘损河叮舆鸡兜涣壕序悠它抢橇幕邑铁膏赋赁第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,半靡怔坟谰赔吨腺哈谦浆肤乐翌室寞拽举揍怖辰腊酬扶履讨堆辊勤得陈蒸第七章,数据库系统的恢复和并发控制技术第七章,数据库系统的恢复和并发控制技术,21,利用静态转储副本进行恢复,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号