《讲数据库恢复》PPT课件

《讲数据库恢复》PPT课件

ID:45658641

大小:365.00 KB

页数:30页

时间:2019-11-15

《讲数据库恢复》PPT课件_第1页
《讲数据库恢复》PPT课件_第2页
《讲数据库恢复》PPT课件_第3页
《讲数据库恢复》PPT课件_第4页
《讲数据库恢复》PPT课件_第5页
资源描述:

《《讲数据库恢复》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章数据库恢复技术事务故障的种类恢复的实现技术、策略具有检查点的恢复技术设想网上购物的一次交易,付款过程包括以下DB操作:1)更新所购商品的库存信息;2)与银行系统交互,保存客户付款信息;3)生成订单一、事务事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。定义方式BEGINTRANSACTIONBEGINTRANSACTIONSQL语句1SQL语句1SQL语句2SQL语句2。。。。。。。。。。COMMITROLLBACK事务

2、的特性(ACID特性)原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)1.原子性事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。2.一致性定义事务时,应保证事务执行的结果必使数据库从一个一致性状态变到另一个一致性状态.例:银行转帐,从帐号A中取出一万元,存入帐号B。B=B+10000A=A-10000BA3.隔离性对并发执行而言,一个事务的执行不能被其他事务干扰。T1的修改被T2覆盖了!读A=16A←A-3

3、写回A=13①读A=16②③A←A-1写回A=15④T2T14.持续性一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。思考:破坏事务ACID特性的因素可能有哪些?回顾什么叫事务?如何用SQL语句定义事务?事务的特性?在哪些情况下事务的特性可能遭到破坏?二、故障的种类1.事务故障:事务在运行过程中被中断,没有达到预期的终点。例如:运算溢出,并发死锁而被撤销的事务思考:事务故障带来的问题2.系统故障:造成系统停止运转的事件,影响所有正在运行的事务。例如:系统断电,CPU故障,OS故障等思考

4、:系统故障带来的问题3.介质故障:硬故障,指外存故障,如磁盘损坏、磁场干扰等。4.计算机病毒三、恢复的实现技术基本原理:冗余当数据库被破坏或产生不正确的数据时,用存储在系统别处的冗余数据来重建。如何建立冗余数据?数据转储登记日志文件1数据转储转储是指DBA定期地将整个数据库复制到另一个磁盘上保存起来的过程;备用数据称为副本。当数据库被破坏,可将副本重新装入。故障发生点转储运行事务↓正常运行─┼───────┼─────────────TaTbTf重装后备副本重新运行事务恢复─┼───────┴-

5、-----------→转储和恢复:转储的分类静态转储:转储过程中不允许运行事务。动态转储:转储过程中允许运行事务。思考:转储得到的副本上的数据是否正确有效?海量转储:转储全部数据。增量转储:只转储上一次转储后更新过的数据。思考:用哪种转储方式得到的副本进行恢复更方便?如果数据库很大,使用哪种方式转储更有效?利用静态转储副本进行恢复故障发生点静态转储运行事务↓正常运行─┼───────┼─────────────TaTbTf重装后备副本恢复─┼───────┥利用动态转储副本进行恢复TaTbTf

6、动态转储运行事务故障发生点正常运行─┼───────┼─────────────登记日志文件登记新日志文件─────────┼─────────────转储日志文件重装后备副本,然后利用转储的日志文件恢复恢复到一━━━━━━┥致性状态转储方法小结转储状态动态转储静态转储转储方式海量转储动态海量转储静态海量转储增量转储动态增量转储静态增量转储2日志文件日志文件是用来记录事务对数据库的更新操作的文件日志文件的内容,包括:事务开始标记、结束标记、更新操作每个日志记录包括:事务标识操作类型操作对象更新

7、前数据的旧值更新后数据的新值作用:事务故障和系统故障的恢复;协助后备副本恢复数据库。登记日志文件的原则:按时间次序登记;先写日志文件,后写数据库三、恢复策略1事务故障的恢复由恢复子系统利用日志文件撤消(UNDO)此事务已对数据库进行的修改。事务故障的恢复由系统自动完成,不需要用户干预。具体步骤:1)反向扫描文件日志,查找该事务的更新操作;2)对该事务的更新操作执行逆操作。3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理;4)直至读到此事务的开始标记,事务故障恢复完成。2系统故障的

8、恢复系统故障造成数据库不一致状态的原因一些未完成事务对数据库的更新已写入数据库一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库恢复方法1.Undo故障发生时未完成的事务2.Redo已完成的事务系统故障的恢复由系统在重新启动时自动完成,不需要用户干预具体步骤1)正向扫描日志文件(即从头扫描日志文件)Redo队列:在故障发生前已经提交的事务Undo队列:故障发生时尚未完成的事务2)对Undo队列事务进行UNDO处理反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作3)对Redo队列事

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

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

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