2024022402-数据库恢复技术

数据库恢复技术

什么是事务

事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位

事务和程序是两个概念

  • 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序
  • 一个应用程序通常包含多个事务

事务是恢复和并发控制的基本单位

事务结束

COMMIT

  • 事务正常结束
  • 提交事务的所有操作(读+更新)
  • 事务中所有对数据库的更新永久生效

ROLLBACK

  • 事务异常终止
    • 事务运行的过程中发生了故障,不能继续执行
    • 回滚事务的所有更新操作
    • 事务滚回到开始时的状态

事务的特性(ACID特性)

原子性(Atomicity)

  • 事务是数据库的逻辑工作单位
  • 事务中包括的诸操作要么都做,要么都不做

一致性(Consistency)

  • 事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态
  • 一致性状态:
    • 数据库中只包含成功事务提交的结果
  • 不一致状态:
    • 数据库中包含失败事务的结果

隔离性(Isolation)

  • 对并发执行而言一个事务的执行不能被其他事务干扰

  • 一个事务内部的操作及使用的数据对其他并发事务是隔离的

  • 并发执行的各个事务之间不能互相干扰

持续性(Durability )

  • 持续性也称永久性(Permanence)
  • 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
  • 接下来的其他操作或故障不应该对其执行结果有任何影响。

故障

故障原因

  • 计算机硬件故障
  • 系统软件和应用软件的错误
  • 操作员的失误
  • 恶意的破坏

故障的影响

  • 运行事务非正常中断
  • 破坏数据库

故障的种类

  • 事务故障
  • 系统故障
  • 介质故障
  • 计算机病毒

恢复操作的基本原理

恢复操作的基本原理:冗余

利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据

恢复的实现技术

数据转储(backup)

登录日志文件(logging)

XMind: ZEN - Trial Version

相关推荐
P.H. Infinity7 分钟前
【Redis】配置序列化器
数据库·redis·缓存
猛男技术控26 分钟前
Milvus矢量数据库 麒麟v10安装
数据库·milvus
别致的影分身34 分钟前
MySQL 常用程序介绍
数据库·mysql
HD2436088361 小时前
【mysql】id主键列乱了之后,重新排序(可根据日期顺序)
数据库·sql·mysql
皓木.1 小时前
苍穹外卖——准备工作
java·数据库·mybatis
qq_448941081 小时前
6、mysql的MHA故障切换
数据库·mysql
美美的海顿1 小时前
springboot基于Java的校园导航微信小程序的设计与实现
java·数据库·spring boot·后端·spring·微信小程序·毕业设计
会飞的爱迪生2 小时前
mysql主从同步延迟原因分析
数据库·mysql
席万里2 小时前
InnoDB存储引擎【MySQL从放弃到入门】
数据库·mysql
木易小熙2 小时前
MySQL最左匹配原则是什么
数据库·mysql