一、事务定义
一个数据库操作序列
一个不可分割的工作单位
恢复和并发控制的基本单位
二、事务的特性(ACID)
原子性(Atomicity):事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
一致性状态
数据库中只包含成功事务提交的结果
不一致状态
数据库系统运行中发生故障,有些事务尚未完成就被迫中断;
这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态
隔离性(Isolation):一个事务内部的操作及使用的数据对其他并发事务是隔离的;并发执行的各个事务之间不能互相干扰
持续性(Durability ):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的;接下来的其他操作或故障不应该对其执行结果有任何影响。
保证事务ACID特性是事务处理的任务
破坏事务ACID特性的因素
(1) 多个事务并行运行时,不同事务的操作交叉执行
数据库管理系统必须保证多个事务的交叉运行不影响这些事务的隔离性
(2)事务在运行过程中被强行停止
数据库管理系统必须保证被强行终止的事务对数据库和其他事务没有任何影响
三、数据库恢复概述
故障是不可避免的
系统故障:计算机软、硬件故障
人为故障:操作员的失误、恶意的破坏等。
数据库的恢复
把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)
四、日志文件的作用
进行事务故障恢复
进行系统故障恢复
协助后备副本进行介质故障恢复