第16讲事务的概念及恢复技术.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16讲事务的概念及恢复技术要点

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 事务和其它程序一样,事务的各操作都需要将数据读入主存后,才能进行计算和执行。 把读入的数据所在的内存区域称为是数据库缓冲区。 另外,每个事务程序中出现的局部变量都在事务的私有内存区中。 当有多个事务在运行的时候,如果发生突然停电等问题,由于内存是易失性的设备, 突然停电会导致主存中数据全部丢失。 读取磁盘的速度相对来说是非常慢的,而内存相对速度则要快的多。 因此为了能够加快处理数据的速度,必须将读取过的数据缓存在内存里。 把这些数据所在的内存区域称为数据高速缓存区(db buffer cache),通常就叫做buffer cache。 buffer cache中的数据块主要都是数据文件里的数据块内容的拷贝。 * 事务和其它程序一样,事务的各操作都需要将数据读入主存后,才能进行计算和执行。 把读入的数据所在的内存区域称为是数据库缓冲区。 另外,每个事务程序中出现的局部变量都在事务的私有内存区中。 当有多个事务在运行的时候,如果发生突然停电等问题,由于内存是易失性的设备, 突然停电会导致主存中数据全部丢失。 读取磁盘的速度相对来说是非常慢的,而内存相对速度则要快的多。 因此为了能够加快处理数据的速度,必须将读取过的数据缓存在内存里。 把这些数据所在的内存区域称为数据高速缓存区(db buffer cache),通常就叫做buffer cache。 buffer cache中的数据块主要都是数据文件里的数据块内容的拷贝。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * 介质故障的恢复 介质故障的恢复需要DBA介入 DBA的工作 重装最近转储的数据库副本和有关的各日志文件副本 执行系统提供的恢复命令 具体的恢复操作仍由DBMS完成 恢复的策略 事务的恢复保证了发生故障后事务的原子性和持久性。 数据库管理系统所采用的恢复技术是衡量系统性能优劣的重要指标。 事务的恢复 已解决的问题 为什么要引入事务? 为什么要对事务进行恢复? 用什么来恢复? 怎样来恢复? 小结 事务的概念及其特性 原子性、一致性、隔离性、持久性 恢复技术 登记日志文件 检查点技术 数据库转储 镜像技术 小结 故障及恢复 事务内部故障的恢复 UNDO 系统故障的恢复 UNDO + REDO 介质故障的恢复 重装后备副本+ REDO( UNDO + REDO) 小结 三(1,2,3,5) 作业 * * * 比如在银行系统中,账户转账是常见的业务,在用户看来,这是一项单个的业务,而在数据库系统中银行转账是通过多个操作完成的, 1。如果发生了故障 2。数据库中a账户的值减少了500院,而账户b的值却没有增加,如果系统没有任何补救措施的话,账户a的500元就白白丢失了。数据库中的数据就处于不一致或不正确的状态。 由于故障打断了程序的执行导致了数据库的错误,或者说这组操作是不能打断的,要么全作要么全不做。 比如银行转账业务,假设现在需要从账户A中转账500元给账户b,为了实现这个业务,在数据库中至少需要这些操作, 在数据库系统中是由几个操作组成的。 * 比如在银行系统中,账户转账是常见的业务,在用户看来,这是一项单个的业务,而在数据库系统中银行转账是通过多个操作完成的, 1。如果发生了故障 2。数据库中a账户的值减少了500院,而账户b的值却没有增加,如果系统没有任何补救措施的话,账户a的500元就白白丢失了。数据库中的数据就处于不一致或不正确的状态。 由于故障打断了程序的执行导致了数据库的错误,或者说这组操作是不能打断的,要么全作要么全不做。 比如银行转账业务,假设现在需要从账户A中转账500元给账户b,为了实现这个业务,在数据库中至少需要这些操作, 在数据库系统中是由几个操作组成的。 * * * * * * * * * * * 比如在银行系统中,账户转账是常见的业务,在用户看来,这是一项单个的业务,而在数据库系统中银行转账是通过多个操作完成的, 1。如果发生了故障 2。数据库中a账户的值减少了500院,而账户b的值却没有增加,如果系统没有任何补救措施的话,账户a的500元就白白丢失了。数据库中的数据就处于不一致或不正确的状态。 由于故障打断了程序的执行导致了数据库的错误,或者说这组操作是不能打断的,要么全作要么全不做。 比如银行转账业务,假设现在需要从账户A中转账500元给账户b,为了实现这个业务,在数据库中至少需要这些操作, 在数据库系统中是由几个操作组成的。 * * * * * * 事务的执行应该使数据库从一个一致性的状态转化为另一个一致性的状态,一致性是事务需要满足的

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档