2024022402-数据库恢复技术

数据库恢复技术

什么是事务

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

事务和程序是两个概念

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

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

事务结束

COMMIT

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

ROLLBACK

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

事务的特性(ACID特性)

原子性(Atomicity)

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

一致性(Consistency)

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

隔离性(Isolation)

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

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

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

持续性(Durability )

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

故障

故障原因

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

故障的影响

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

故障的种类

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

恢复操作的基本原理

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

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

恢复的实现技术

数据转储(backup)

登录日志文件(logging)

XMind: ZEN - Trial Version

相关推荐
java1234_小锋44 分钟前
REDIS集群会有写操作丢失吗?为什么
数据库·redis·缓存
兰若姐姐1 小时前
如何进行MSSQL提权?sp_oacreate、sp_oamethod和沙盒提权以及xp_regwrighte提权
数据库·sqlserver
一抓掉一大把1 小时前
秒杀-订单创建消费者CreateOrderConsumer
网络·数据库
一只小bit3 小时前
MySQL事务:如何保证ACID?MVCC到底如何工作?
数据库·mysql·oracle
小猪咪piggy3 小时前
【项目】小型支付商城 MVC/DDD
java·jvm·数据库
向阳而生,一路生花3 小时前
redis离线安装
java·数据库·redis
·云扬·3 小时前
使用pt-archiver实现MySQL数据归档与清理的完整实践
数据库·mysql
黄焖鸡能干四碗3 小时前
信息安全管理制度(Word)
大数据·数据库·人工智能·智慧城市·规格说明书
betazhou3 小时前
基于Linux环境使用ogg19版本从oracle 19c ADG备库远程同步数据
linux·运维·oracle·goldengate·adg·远程抽取