- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第十章 数据库恢复技术 数据库系统是由DBMS统一管理和控制的,是一种数据并发共享的环境。为此,DBMS必须具有事务处理能力,以保证数据库中数据的正确有效。 事务处理的内容包括数据库恢复、并发控制,分别由第十章~第十一章讲述。 本章内容: 10.1 事务的基本概念 10.2 数据库恢复概述 10.3 故障的种类 10.4 恢复的实现技术 10.5 恢复策略 * 10.1 事务的基本概念 一、什么是事务 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单元。 事务和程序是两个概念: 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序; 一个应用程序通常包含多个事务; 事务是恢复和并发控制的基本单位。 * 10.1 事务的基本概念 二、如何定义事务 显式方式 BEGIN TRANSACTION SQL 语句1 SQL 语句2 …… COMMIT BEGIN TRANSACTION SQL 语句1 SQL 语句2 …… ROLLBACK (1) COMMIT:事务正常结束,提交事务的所有更新操作,事务中所有对数据库的更新永久生效; (2) ROLLBACK:事务异常终止,发生了故障不能继续执行,回滚事务的所有更新操作,回到事务开始时的状态; 隐式方式 当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。 * 10.1 事务的基本概念 三、事务的特性 原子性(Atomicity) 事务中包括的所有操作要么都做,要么都不做。 一致性(Consistency) 事务执行结果必须使数据库从一个一致性状态变到另一个一致性状态。 银行转帐:从帐号A中取出一百元,存入帐号B。 定义一个事务,该事务包括两个操作 ① 从帐户A减去一百元(A=A-100); ② 给帐户B加上一百元(B=B+100)。 该事务应该符合:这两个操作要么全做,要么全不做。如果只做一个操作,数据库就处于不一致性状态。 * 10.1 事务的基本概念 隔离性(Isolation) 一个事务的执行不能被其他事务干扰,从而影响它对数据的正确使用和修改。 例: (右图) ? ? 读A=16 ? ? ? ? A←A-3 写回A=13 ① 读A=16 ? ② ? ③ A←A-1 写回A=15 ? ④ T2 T1 持续性(Durability) 一个事务一旦提交,它对数据库的改变就应该是永久的,接下来的其他操作或故障不应该对其执行结果有任何影响。 事务的这四个特性通常被称为事务的ACID特性。 事务T1对数据A的修改被T2所影响,造成T1的修改丢失。 * 10.2 数据库恢复概述 故障不可避免 计算机硬件故障 系统和应用软件的错误 操作员的失误 恶意的破坏 故障影响 事务非正常中断 破坏数据库 DBMS故障对策 提供恢复子系统 把数据从错误状态恢复到一致状态 保证事务ACID特性 恢复技术:衡量系统优劣的重要指标 * 10.3 故障的种类 一、事务故障 什么是事务故障 事务在运行过程中未运 行至正常终止点就夭折了。 常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁 事务故障恢复 (1) 可预见错误:由事务程序来处理 (2) 不可预见错误:由DBMS强行回滚该事务 例:银行转账事务的伪代码 BEGIN TRANSACTION 读取帐户甲的余额BALANCE; BALANCE = BALANCE - AMOUNT; IF ( BALANCE 0 ) THEN {打印‘余额不足,不能转帐’; ROLLBACK;} ELSE {读帐户乙的余额BALANCE1; BALANCE1= BALANCE1 + AMOUNT; 写回BALANCE1; COMMIT; } * 10.3 故障的种类 二、系统故障 什么是系统故障 整个系统的正常运行突然被破坏 所有正在运行事务全部非正常终止 内存中缓冲区信息全部丢失,外存中数据未受影响 常见原因 操作系统、DBMS代码错误 硬件错误,如CPU故障 突然断电 系统故障恢复 (1) 回滚非正常终止的事务 (2) 重做缓冲区中已提交的事务 * 10.3 故障的种类 三、介质故障 什么是介质故障 存储数据库的设备发生故障,使存储在其上的数据部分或全部受到破坏丢失,又称硬故障。 常见原因 磁盘损坏 磁头碰撞 操作系统的潜在错误 瞬时强磁场干扰 介质故障恢复 (1) 装入发生介质故障前某个时刻的数据库副本
您可能关注的文档
最近下载
- 中医养生预防脑血管疾病的措施(3).pptx
- 教育部2024年专项任务项目(高校辅导员研究)申请评审书《增强高校辅导员与学生谈心谈话的针对性和实效性研究》.docx VIP
- YBJ-PS03-2004埋地无压预制混凝土排水圆形管管基及接口.pdf
- 家校社协同育人教联体典型案例(幼小中).doc
- 智慧教育双师课堂解决方案.pdf
- DL∕T 1949-2018 -火力发电厂热工自动化系统电磁干扰防护技术导则.pdf
- 2023云南昆明空港投资开发集团招聘7人考前自测高频考点模拟试题(共500题)含答案详解.docx
- 营销三大法宝-销售带动配合-PPT课件.ppt
- 人教版本历史七下第3课(开元盛世)课件3.ppt
- 2025考研英语一真题及答案.pdf
文档评论(0)