当前位置: 首页 > news >正文

数据库常见故障类型

数据库常见故障类型

数据库系统运行过程中可能发生的故障主要分为以下三类,其破坏性由小到大:

故障类型

别名

根本原因

影响范围

典型例子

1. 事务故障

逻辑故障

事务内部的程序逻辑错误或输入异常。

单个或少量事务

- 输入数据不合法(如除零错误)。
- 应用程序错误(如转账时余额为负)。
- 死锁(被系统强制终止)。

2. 系统故障

软故障(Soft Crash)

硬件(如突然断电)、操作系统或DBMS软件错误,导致系统停止运行

所有正在运行的事务,​内存数据丢失,但磁盘数据完好

- 操作系统崩溃。
- 数据库服务器进程意外被杀。
- 突然断电(需有备用电源支持内存写入磁盘的时间)。

3. 介质故障

硬故障(Hard Crash)

存储数据库的物理设备发生损坏。

破坏磁盘上的数据,影响范围最大。

- 磁盘控制器(Disk Controller)故障。
- 磁头损坏(Head Crash)。
- 磁盘块因老化而永久性损坏。


各类故障的恢复策略

各类故障的恢复策略

针对不同的故障类型,数据库系统采用了相应的恢复机制:

1. 事务故障的恢复
  •  

    恢复方式​: ​撤销(UNDO)​

  •  

    实现机制​: 系统反向扫描日志文件,找到该事务的所有更新操作,并对这些操作执行逆操作,将数据库恢复到该事务执行之前的状态,就像这个事务从未发生过一样。

  •  

    目标​: 消除失败事务对数据库的所有影响。

2. 系统故障的恢复

系统重启后,恢复子系统需要处理两种不确定状态的事务:

  •  

    未完成的事务​: 事务未提交,但其部分修改可能已写入磁盘。

  •  

    已提交但未落盘的事务​: 事务已提交,但其数据修改可能还在内存缓冲区,未来得及写入磁盘。

  •  

    恢复方式​: ​撤销(UNDO) + 重做(REDO)​

  •  

    实现机制​:

    1. 1.

      撤销(UNDO)​​: 撤销所有未完成事务的操作,确保原子性。

    2. 2.

      重做(REDO)​​: 重做所有已提交但未落盘事务的操作,确保持久性。

  •  

    关键技术​: 通过检查点(Checkpoint)​​ 技术来确定哪些事务需要UNDO,哪些需要REDO,这正是我们上一个对话讨论的核心内容。

3. 介质故障的恢复
  •  

    恢复方式​: ​重装备份 + 重做日志

  •  

    实现机制​:

    1. 1.

      装入最新的数据库备份​(冷备或热备),将数据库恢复到备份时的状态。

    2. 2.

      装入备份点之后的所有日志文件副本

    3. 3.

      重做(REDO)备份之后所有已提交事务的操作,将数据库恢复到故障发生前的状态。

  •  

    特点​: 恢复速度最慢,对可用性影响最大。因此,​制定定期备份策略和日志归档策略至关重要

http://www.dtcms.com/a/361233.html

相关文章:

  • Proteus 仿真 + STM32CubeMX 协同开发全教程:从配置到仿真一步到位
  • 希尔排序。
  • 关于命名参数占位符的分析(主要以PHP为例)
  • 详细介绍 JMeter 性能测试
  • Java泛型通配符详解:搞懂?/extends/super用法,避开集合操作踩坑点
  • 快递地址归类排序实现(Java Python)
  • Jenkins 自动构建Vue 项目的一个大坑
  • JVM核心机制:类加载与内存结构详解
  • OpenHarmony智能语音框架深度拆解:从VAD到唤醒词打造你的AI语音智能体
  • 自动化软件测试工具Parasoft C/C++test如何实现运行时错误的检测与修复
  • 面试经典150题[021]:反转字符串中的单词(LeetCode 151)
  • 【XR技术概念科普】VST(视频透视)vs OST(光学透视):解码MR头显的两种核心技术路径
  • 「数据获取」《中国住户调查年鉴》(2000-2024)(获取方式看绑定的资源)
  • SQLark:一款面向信创应用开发者的数据库开发和管理工具
  • Jmeter实现参数化的4种方式
  • Windows神器,按键屏蔽
  • 【机器学习学习笔记】pandas基础
  • (纯新手教学)计算机视觉(opencv)实战十二——模板匹配(cv2.matchTemplate)
  • UE角色取消被Decal影响
  • Jetson AGX Orin平台R36.3.0版本1080P25fps MIPI相机图像采集异常调试记录
  • 基于单片机电动车充电桩/充电车棚环境监测设计
  • 基于RS-485接口的芯片的FPGA驱动程序
  • 吴恩达机器学习作业十二:协同过滤(电影推荐系统)
  • 广电手机卡到底好不好?
  • Git基础使用和PR贡献
  • .Net程序员就业现状以及学习路线图(二)
  • Android面试指南(六)
  • 大模型落地全流程实践:从技术选型到企业级部署
  • 音视频开发入门:FFmpeg vs GStreamer,新手该如何选择?
  • 松灵斯坦福Mobile ALOHA同款 | 通过低成本全身远程操作实现双手机器人移动操控学习