数据库之数据库恢复技术思维导图+大纲笔记

大纲笔记:

  • 事务的基本概念

    • 事务

      • 定义
        • 用户定义的一个数据库操作系列,这些操作要么全做,要么全不做,是一个不可分割的基本单位
      • 语句

        • BEGIN TRANSACTION
          • 开始
        • COMMIT
          • 提交,提交事务的所有操作
        • ROLLBACK
          • 回滚,撤销事物的所有已完成的操作,回滚到事务的开始状态
    • 事务的ACID特性

      • 原子性
        • A
      • 一致性
        • C
      • 隔离性
        • I
          • 一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各事务之间不能互相干扰
      • 持续性
        • D
    • 事物的ACID可能遭到破坏的因素

      • 多个事务并行运行时,不同事务的操作交叉执行
      • 事务在运行过程中被强行停止
  • 数据库恢复概述

    • 数据库遭到破坏的原因

      • 计算机系统中硬件的故障
      • 软件的错误
      • 操作员的失误
      • 恶意的破坏
    • 数据库遭到破坏的影响

      • 运行事务非正常中断,影响数据库的正确性
      • 破坏数据库,使数据库中全部或部分数据丢失
    • 数据库的恢复
      • 数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态的功能
  • 故障的种类

    • 事务内部的故障
    • 系统故障
    • 介质故障
    • 计算机病毒
  • 恢复的实现技术

    • 建立冗余数据

      • 数据转储

        • 状态

          • 静态转储
          • 动态转储
        • 方式

          • 增量转储
          • 海量转储
        • 方法

          • 静态增量转储
          • 静态海量转储
          • 动态增量转储
          • 动态海量转储
      • 登记日志文件

        • 日志文件的格式和内容

          • 登记内容

            • 各个事务的开始(BEGIN TRANSACTION)
            • 各个事务的结束(COMMIT或ROLLBACK)标记
            • 各个事务的更新操作
          • 每个日志记录内容

            • 事务标识
            • 操作的类型
            • 操作对象
            • 更新前数据的旧值
            • 更新后数据的新值
        • 日志文件的作用

          • 事务故障恢复和系统故障恢复必须使用日志文件
          • 在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库
          • 在静态转储方式中也可以建立日志文件,当数据库破坏后可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,然后利用日志文件把已完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤销处理
        • 登记日志文件
          • 原则

            • 登记的次序严格按照并发事务的时间次序
            • 必须先写日志文件,后写数据库
  • 恢复策略

    • 事务故障的恢复
      • 反向扫描日志文件
    • 系统故障的恢复
      • 正向扫描-反向扫描-正向扫描
    • 介质故障的恢复
      • 扫描-正向扫描
  • 具有检查点的恢复技术

    • 检查点记录的内容

      • 建立检查点时刻所有正在执行的事务清单
      • 这些事务最近一个日志记录的地址
    • 动态维护日志文件
      • 方法
        • 周期性执行建立检查点、保存数据库状态的操作
  • 数据库镜像

    • 通过复制数据实现,只对关键数据和日志文件进行镜像,而不是整个数据库
相关推荐
草莓熊Lotso11 分钟前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
开发语言·c++·经验分享·笔记·其他
_Kayo_6 小时前
node.js 学习笔记3 HTTP
笔记·学习
星星火柴93610 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
Cx330❀12 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
小幽余生不加糖13 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
..过云雨14 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
岑梓铭15 小时前
考研408《计算机组成原理》复习笔记,第五章(3)——CPU的【数据通路】
笔记·考研·408·计算机组成原理·计组
Blossom.11821 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
草莓熊Lotso21 小时前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
玖別ԅ(¯﹃¯ԅ)1 天前
PID学习笔记6-倒立摆的实现
笔记·stm32·单片机