王珊的第五版数据库系统概论--第十章总结概述

第十章 数据库恢复技术

1.事务

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

事务和程序是两个概念
在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序
一个程序通常包含多个事务。

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

定义事物

BEGIN TRANSACTION BEGIN TRANSACTION
SQL 语句1 SQL 语句1
SQL 语句2 SQL 语句2
。。。。。 。。。。。
COMMIT ROLLBACK

COMMIT :事务正常结束 ,提交事务的所有操作(读+更新)
,事务中所有对数据库的更新写回到磁盘上的物理数据库中

ROLLBACK:事务异常终止,事务运行的过程中发生了故障,不能继续执行
系统将事务中对数据库的所有已完成的操作全部撤销 ,事务滚回到开始时的状态。

事务的ACID特性:

原子性(Atomicity):事务是数据库的逻辑工作单位,要么都做,要么都不做。
一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
隔离性(Isolation):一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性(Durability ):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。

恢复策略

1.事务故障的恢复。2.系统故障的恢复。3.介质故障的恢复

系统故障恢复

重做(REDO) 队列: 在故障发生前已经提交的事务
这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录
撤销 (UNDO)队列:故障发生时尚未完成的事务
这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录

恢复中最经常使用的技术:数据库转储,登记日志文件.

你可能感兴趣的:(数据库)