首页 > 数据库 >计算机三级 - 数据库技术 - 第十一章 故障管理 笔记

计算机三级 - 数据库技术 - 第十一章 故障管理 笔记

时间:2024-09-08 15:20:56浏览次数:10  
标签:文件 事务 第十一章 数据库 转储 故障 笔记 日志

第十一章 故障管理

内容提要:

  1. 了解故障管理类型及数据库恢复技术
  2. 了解数据转储技术
  3. 了解如何利用日志文件进行数据恢复
  4. 了解硬件容错方案

11.1 故障管理概述

  1. 故障类型及解决方案:
    1. 事务内部故障 :导致数据不一致
      1. 预期的事务内部故障 : 可通过事务过程本身发现
        • 解决办法:事务回滚
      2. 非预期的事务内部故障 : 不能由事务程序处理,如运算溢出
    2. 系统故障 : 又称软故障,运行期间,由于硬件故障、数据库软件及OS漏洞、突然断电等故障,导致数据不一致。
      • 解决办法:重启后,撤销(UNDO )所有未提交的事务;重做(REDO)所有已提交的事务。
    3. 介质故障 :又称硬故障,运行期间由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等,使得数据丢失的一类故障。导致物理存储设计损坏,数据文件及数据全部丢失,破坏性最大。
      • 容错策略:软件容错及硬件容错
    4. 计算机病毒故障 : 病毒是恶意的计算机程序,破坏OS及数据库系统(破坏数据文件为主)。
      • 解决办法:防火墙、杀毒软件、数据库备份文件。

  1. 数据库恢复技术:
    • 恢复的基本原理:冗余
    • 数据库恢复:把数据库从错误状态恢复到某一已知的正确状态。
    • 在DBMS中,数据库恢复子系统占10%以上
    • 恢复机制涉及两个问题:
      1. 如何建立冗余数据
        • 建立冗余数据的技术:数据备份、登记日志文件、数据库复制、数据库镜像、为段设立保存点以及使用后备段与现行页表来支持对段的保存等。
      2. 如何利用这些冗余数据实施数据库恢复。

11.2 数据转储

  • 数掘转储即数据备份
    • 指DBA或DBMS定期复制数据库,并将其存放到其他介质的过程。
    • 这些保存的副本被称为后援副本或后备副本。
  1. 静态转储和动态转储
    1. 静态转储:期间系统不能运行其他事务,不允许任何存取、修改活动。
      • 静态转储保证数据的一致性,但降低了数据库的可用性。转储和事务是互斥的。
    2. 动态转储:即允许转储和事务并发执行。
      • 动态转储不能保证转储数据的一致性。

        因此,动态转储+日志文件(记录转储期间各事务对数据库的修改活动记录)

  • 既保证数据一致性又提高了数据库的可用性。

  1. 数据转储机制
    1. 完全转储:对数据库中所有数据进行转储,占据较多时间和空间,但恢复时间短。
    2. 增量转储:只复制上次转储后发生变化的文件或数据块。所需时间及空间短,但只能和完全转储配合才能对数据库进行恢复。
    3. 差量转储:对最近一次数据库完全转储以来发生的数据变化进行转储。

  1. 多种转储方法结合使用
    1. 仅使用完全转储:占据时间和空间多,代价大
    2. 完全转储+增量转储:恢复时间较长
    3. 完全转储+差量转储:恢复时间短

11.3 日志文件

  1. 日志文件的概念:
  • DBMS运行中,将所有事务的修改操作登记到日志文件。
  • 日志文件的具体作用:
    1. 事务故障恢复和系统故障恢复必须使用日志文件
    2. 在动态转储方式中必须建立日志文件
    3. 在静态转储方式中也可使用日志文件

  1. 日志文件的格式与内容:

        两种格式:

  1. 以记录为单位的日志文件
  • 需要记录的内容:
    1. 各个事务的开始标记  BEGIN TRANSACTION
    2. 各个事务的结束标记 COMMIT OR  ROLLBACK
    3. 各个事务的所有更新操作
  1. 以数据块为单位的日志文件
  • 日志记录的内容包括:

                事务标识和被更新的数据块

  1. 登记日志文件的原则
    1. 登记的次序严格按并行事务执行的时间次序。
      • 保证事务对数据库的操作的可再现性和正确性。
    2. 必须先写日志文件,后写数据库。
      • 先后顺序导致必然性。

  1. 检査点
    • 检查点的作用:最大限度地减少数据完全恢复时必须执行的日志部分。
    • 基于检查点的恢复步骤:

                        ①从“重新开始文件”中找到最后一个检查点记录在日志文件中的地址,从而找到最后一个检查点记录。

                        ②由该检查点记录得到执行的事务清单ACTIVE LIST。

                        ③从检查点开始正向扫描文件。

                        ④对UNDO-LIST中的事务执行UNDO,对REDO-LIST中的事务执行REDO。

11.4 硬件容错方案

  • 相关度最紧密的技术:数据库存储保护技术,服务器容错技术,数据库镜像与容灾技术。
  1. 磁盘保护技术:

  • RAID依靠冗余技术数据保护
    1. 镜像冗余
      • 即把所有的数据复制到其他设备。
      • 额外开销大:更多的磁盘、控制器、电缆
    2. 校验冗余
      • 对成员磁盘的数据执行异或(XOR)操作,得到其校验值,并存放在另外的校验盘上
      • 实现复杂,但比镜像冗余占据的空间小。

  1. 服务器容错技术
    • 引入服务器容错原因:

                 解决服务器硬件异常问题。

  • 服务器容错技术简介:

                采用两台相同的服务器,共享存储设备。(双机热备)

                两台服务器之间会有私有网络进行心跳检

  1. 数据库镜像与数据库容灾
    • 引入数据库镜像原因:前面几种恢复技术都必须及时正确地转储数据库。
    • 数据库镜像简介:是一种用于提高数据库可用性的解决方案,它根据DBA的要求,自动把整个数据库或关键数据复制到另一个磁盘上。
    • 数据库镜像分类:
      • 双机互备援模式:

                                两台机器均为工作机。正常状况下均为系统提供支持,互相监视对方的运行情况

                       2.  双机热备份模式:

                                一台为工作机,一台为备份机。工作机为系统提供支持,备份机监视工作机的运行情况

  • SQL Server数据库镜像提供三种实现方式
    1. 高可用性:两台服务器同步事务写入支持自动错误恢复。
    2. 高保护性:两台服务器同步事务写入,手工错误恢复。
    3. 高性能:两台服务器写入不同步,手工错误恢复。

其余章节进我主页进行查看

标签:文件,事务,第十一章,数据库,转储,故障,笔记,日志
From: https://blog.csdn.net/2301_81800394/article/details/142025447

相关文章

  • WGCLOUD使用指南 - 监测数据库的连通性
    数据可视化监测是WGCLOUD的一个重要模块,可以帮我们监控数据源是否在线,自定义sql查询数据进行可视化展示,比如新增订单、注册用户量、数据库运行参数等信息数据监控是由server来监测的,因此要保证server主机能够访问到数据库如果server无法访问被监控的数据源,怎么监控 1、......
  • Tensorflow2如何读取自制数据集并训练模型?-- Tensorflow自学笔记13
    一.如何自制数据集?1.目录结构以下是自制数据集-手写数字集,保存在目录 mnist_image_label下2.数据存储格式 2.1.目录mnist_train_jpeg_60000下存放的是60000张用于测试的手写数字    如:0_5.jpg,表示编号为0,标签为5的图片       6_1.......
  • Javaweb-数据库设计案例
    1.createtablemusic( idintPRIMARYkey, titlevarchar(32), aliasvarchar(32), imagevarchar(64), stylevarchar(8), typevarchar(4), mediumvarchar(4), publish_timedate, publishervarchar(16), numbertinyint, barcodebigint, summaryvarcha......
  • 自己为笔记本电脑风扇清灰的方法
      本文介绍为笔记本电脑拆机,并对风扇等结构加以清灰的方法。  笔记本电脑每经过一段时间的运行后,往往会在其内部积累灰尘;尤其在其风扇处,积累的灰尘尤为明显,这将一定程度上影响笔记本电脑的正常运行。因此,我们可以定期对笔记本电脑加以清灰,保持电脑的正常性能。本文就对笔记本......
  • Javaweb-数据库设计-多表关系实现
    createtabletb_order( idintPRIMARYkeyauto_increment, paymentdouble(10,2), payment_typetinyint, statusTinyint);createtabletb_goods( idintPRIMARYkeyauto_increment, titlevarchar(100), pricedouble(10,2));createtabletb_order_goods(......
  • JDBC创建数据库实例
    在本教程将演示如何在JDBC应用程序中创建数据库。在执行以下示例之前,请确保您已经准备好以下操作:具有数据库管理员权限,以在给定模式中创建数据库。要执行以下示例,需要用实际用户名和密码替换这里用户名(username)和密码(password)。MySQL或数据库已启动并运行。所需步骤使......
  • 斯坦福大学2014机器学习教程中文笔记目录
    http://www.ai-start.com/ml2014/第一周一、引言(Introduction)1.1欢迎1.2机器学习是什么?1.3监督学习1.4无监督学习二、单变量线性回归(LinearRegressionwithOneVariable)2.1模型表示2.2代价函数2.3代价函数的直观理解I2.4代价函数的直观理解II2.5梯......
  • 【大数据】分布式数据库算法
    目录一、分布式数据库算法概述二、分布式数据库算法分类2.1分布式数据库算法的优点2.2分布式数据库算法的缺点三、分布式数据库算法实现3.1 分布式数据库算法C语言实现3.2 分布式数据库算法JAVA实现四、分布式数据库算法应用五、分布式数据库算法发展趋势一、......
  • Spring6详细学习笔记(IOC+AOP)
    一、Spring系统架构介绍1.1、定义Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。Spring官网Spring是一款主流的JavaEE轻量级开源框架,目的是用于简化Java企业级引用的开发难度和开发周期。从简单性、可测试性和松耦合度的角度而言,任何Java应用都可以从S......
  • Vue2 - 详细实现聊天室IM即时通讯及聊天界面,支持发送图片视频、消息已读未读等,集成mqt
    前言如果您需要Vue3版本,请访问在vue2|nuxt2项目开发中,详解手机移动端H5网页在线1v1聊天功能(仿腾讯云IM功能),技术栈为MQTT通讯协议+后端Node服务端+数据库设计+vue前端聊天界面,超详细前后端完整流程及示例源代码,vue2聊天即时通讯IM实时接收和发送消息,可发送文字、图......