1、数 据 库 原 理华北电力大学控制与计算机工程学院第十章 数据库恢复技术数据库原理3数据库原理 *数据库恢复技术n 数据库系统中的数据是由 DBMS统一管理和控制的,为了适应数据共享的环境, DBMS必须提供数据保护能力,以保证数据库中数据的安全可靠和正确有效。n 数据保护包括: 安全性保护 完整性保证 并发控制 数据库恢复4数据库原理 *本章的主要内容10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 小结 什么是事务 如何定义事务 事务的特性 5数据库原理 *事务n 事务(
2、 Transaction) 用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。n 事务和程序是两个概念 在关系数据库中,一个事务可以是一条 SQL语句,一组SQL语句或整个程序; 一个应用程序通常包含多个事务。n 事务是恢复和并发控制的基本单位 6数据库原理 *定义事务n 显式定义方式 事务通常是以 BEGIN TRANSACTION开始,以 COMMIT或ROLLBACK结束。BEGIN TRANSACTION SQL 语句 1 SQL 语句 2 COMMIT 或 ROLLBACKn COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数
3、据库的更新写回到磁盘上的物理数据库中去,事务正常结束。n ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。7数据库原理 *定义事务n 隐式定义方式 当用户没有显式地定义事务时, DBMS按缺省规定自动划分事务。 8数据库原理 *事务的特性( ACID特性) n 事务的 ACID特性 原子性( Atomicity) 一致性( Consistency) 隔离性( Isolation) 持续性( Durability ) 9数据库原理 *事务的特性( ACID特性) 1. 原子性 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 2. 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 一致性状态 :数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果 10数据库原理 *事务的特性( ACID特性) n 例如银行转帐:从帐号 A中取出一万元,存入帐号 B。定义一个事务,该事务包括两个操作: 这两个操作要么全做,要么全不做。 全做或者全不做,数据库都处于一致性状态;如果只做一个操作,数据库就处于不一致性状态。n 可见, 一致性和原子性是密切相关的 A BA=A-1B=B+1