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

news2024/11/12 21:29:59

第十一章 故障管理

内容提要:

  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. 高性能:两台服务器写入不同步,手工错误恢复。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2129414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++的 stack 和 queue(deque) 和 priority_queue 和 适配器

目录 1.stack和queue 2. queue的介绍和使用 3. priority_queue的介绍和使用 4. 容器适配器 4.1 STL标准库中stack和queue的底层结构 4.2 deque的简单介绍(了解) 4.2.1 deque的原理介绍 4.2.2 deque的缺陷 1.stack和queue 1.1stack 的 结构 1.2 stack 的使用 可以自己查看…

学习Vue3的第四天

目录 pinia 安装 Pinia 存储读取数据 修改数据(三种方式) storeToRefs getters $subscribe store组合式写法 组件通信 props 自定义事件 mitt v-model $attrs $refs、$parent provide、inject slot pinia Pinia 是一个用于 Vue.js 的状态管理库,作…

为工程师构建生成式 AI 应用程序

作为全栈工程师,我们经常需要将后端和前端代码与 AI 模型集成。然而,访问这些模型一直是一项重大挑战。主要障碍之一是缺乏对开放和封闭模型的轻松访问。在 GitHub,我们正在打破访问障碍并推出GitHub Models。让您(开发人员&#…

微服务网关终极进化:设计模式驱动的性能与可用性优化(四)

时间:2024年09月12日 作者:小蒋聊技术 邮箱:wei_wei10163.com 微信:wei_wei10 希望大家帮个忙!如果大家有工作机会,希望帮小蒋推荐一下,小蒋希望遇到一个认真做事的团队,一起努力…

信息安全数学基础(7)最小公倍数

前言 在信息安全数学基础中,最小公倍数(Least Common Multiple, LCM)是一个重要的概念,它经常与最大公约数(Greatest Common Divisor, GCD)一起出现,两者在数论、密码学、模运算等领域都有广泛的…

docker-compose 部署 flink

下载 flink 镜像 [rootlocalhost ~]# docker pull flink Using default tag: latest latest: Pulling from library/flink 762bedf4b1b7: Pull complete 95f9bd9906fa: Pull complete a880dee0d8e9: Pull complete 8c5deab9cbd6: Pull complete 56c142282fae: Pull comple…

黑龙江等保测评:保障数据安全的最佳选择,助力企业无忧发展!

在数字化时代,数据安全已成为企业发展的重中之重。尤其是在黑龙江,随着信息技术的快速发展,数据泄露和网络攻击的风险日益增加。为了帮助企业提升数据安全防护能力,黑龙江等保测评应运而生,成为保障数据安全的有力工具…

DRW的公式推导及代码解析

流程 分阶段指定β值 # 根据当前epoch计算使用的beta值idx epoch // 160 # 每160轮epoch切换一次加权系数betas [0, 0.9999] # 两个beta值beta betas[idx] # 根据idx选择beta值 计算有效样本的权重 对权重进行归一化 (每类权重值 / 权重总和)* …

第7篇:【系统分析师】计算机网络

考点汇总 考点详情 1网络模型和协议:OSI/RM七层模型,网络标准和协议,TCP/IP协议族,端口 七层:应用层,表示层,会话层,传输层,网络层,数据链路层,…

MBD_入门篇_23_SimulinkSinks

23.1 概述 Sink库里面是Simulink的显示或导出信号数据的模块,可以理解为信号的最后接收的模块,要么用于显示要么用于传递给更上层的系统要么终止。 Sink库里面的模块都只有输入,没有输出。 23.2 回顾常用模块 23.2.1 Display 用于实时仿真…

终端文件管理神器 !!!【送源码】

项目简介 nnn是一款专为命令行爱好者打造的高效终端文件管理器。它以其超小的体积、几乎零配置的要求以及卓越的速度表现而著称。nnn不仅适用于Linux、macOS、BSD等操作系统,还能够在诸如树莓派、Android上的Termux、WSL、Cygwin等多个平台运行。它遵循POSIX标准&am…

EPSG 标识符和Web墨卡托投影的关系

Web 墨卡托投影使用修改版的墨卡托投影,并已成为 Web 制图的默认地图投影。此投影的主要区别在于它在所有尺度上都使用球面公式。而墨卡托投影使用与赤道相切的垂直圆柱投影。以下是 Web 墨卡托投影成为 Web 和在线制图事实上的标准的一些原因。 哪些 Web 地图使用 Web Merca…

从 Data 到 Data + AI,必然之路还是盲目跟风?

从 Data 到 Data AI,必然之路还是盲目跟风? 前言从 Data 到 Data AI 前言 数据和人工智能的发展日新月异,深刻地改变着我们的生活和工作方式。数据平台作为数据处理和分析的核心基础设施,也在不断演进和发展。从数据库时代到大…

Linux系统使用Docker安装DockerUI并实现远程管理本地容器无需公网IP

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

如何用MATLAB搭建ResNet网络(复现论文)

文章目录 前言基础工具网络搭建ResNet网络代码完整代码总结参考文献 前言 之前暑假实习了3个月,后来又赶上开学一堆事,现在终于有时间记录一下学习经历。新的学期开始了,要继续努力。 因为最近要做一个无人机航迹分类的项目,所以…

一周完成计算机毕业设计论文:高效写作技巧与方法(纯干货/总结与提炼)

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Trie字符串统计(每周一类)

这节课我们学习Trie字符串。这个算法的主要应用就是字符串的快速存储和查找。我们通过下面这个题来讲 Tire字符串统计 ,另外说个题外话,本人是从ACwing里学习的算法知识,希望大家支持一下y总(ACwing大佬),如果觉得我这里的知识讲得…

Unity Apple Vision Pro 开发(十):通过图像识别锚定空间

XR 开发者社区链接: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 课程试看:https://www.bilibili.com/video/BV1mpH9eVErW 课程完整版,答疑仅社区成员可见,可以通过文章开头的链接加入…

另类动态规划

前言&#xff1a;一开始我根本想不到这个题目是一个动态规划的题目&#xff0c;而且我一开始的初始状态还写错了 我还忘记了写算法题的基本步骤&#xff0c;先看数据范围&#xff0c;再考虑能不能用动态规划写 题目地址 #include <bits/stdc.h> using namespace std; #de…

RTR_Chapter_4_上半部分

第四章 Transform 变换 变换&#xff08;transform&#xff09;是指以点、向量、颜色等实体作为输入&#xff0c;并以某种方式对其进行转换的一种操作。对于计算机图形学从业者而言&#xff0c;熟练掌握变换相关的知识是非常重要的。通过各种变换操作可以对物体、光源和相机进…