例如转账业务,不能因为后期系统瘫痪故障,恢 复后转账就无效了
➢不受干扰
10.1 事务的基本概念
1. 事务(Transaction)
【定义】用户定义的一个对数据库读写操作序列, 是一个不可分割的工作单位。 (1)在关系数据库中,事务可以是一条、一组SQL 语句,或整个程序。 (2)数据库系统中通常有多个事务并行运行。 (3)数据库恢复和并发控制的基本单位。
15
故障的种类
2. 系统故障(system) 系统重启、OS故障、DBMS代码错误、掉电等。
发生系统故障时: (1)一些尚未完成的事务的结果可能已经写入数 据库。(UNDO) (2)有些已完成的事务的结果甚至驻留在缓冲区 中。 (REDO)
16
故障的种类 3. 介质故障(medium)
介质故障也称为硬故障。如:磁盘损坏等。 这类事故破坏数据库或部分数据库。
14
10.3 故障的种类及其影响
10.3.1 故障的种类
1. 事务内部故障
事务在运行至正常终止点(commit或rollback)前
被终止。
预期故障
包括(预期的、非预期的)
能由事务所在程序处理的,如条件不满足等。
不能由事务所在程序处理的,如运算溢出等(主要
讨论的)。
这类恢复操作称为事务撤消。
非预期故障
6
commit用法
• oracle数据库 • update,delete,insert 需要执行commit; • • create,drop,alter 不需要执行commit; • mysql数据库 • 不需要执行commit; • set autocommit=0/1 (禁止/开启自动提交)
10
事务的性质(ACID特性)