10.1事务的基本概念
①事务:用户宝义的一个数据库操作序列,是一个不可分割的工作单位。一个程序中包含多个事务。
事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交。ROLLBACK表示回滚,即在事务运行过程中发失了故障,事务无法继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。
②事务的ACID特性
原子性,一致性,隔离性,持续性。
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
并发执行的各个事务之间不能互相干扰。
事务ACID特性可能遭到破坏的因素:多个事务并行运行时,不同事务的操作交叉执行。事务在运行过程中被强行停止。
10.2数据库恢复概述
把数据库从错误状态恢复到某一已知的正确状态的功能就是数据库的恢复。恢复子系统是数据库管理系统的一个重要组成部分,常占整个系统代码的10%以上。
10.3故障的种类
①事务内部的故障。
②系统故障。
③介质故障。
系统故障常称为软故障,介质故障称为硬故障。
10.4恢复的实现技术
建立见余数据最常用的技术是数据转储和登记日志文件。通常两种方法一起使用。
10.4.1数据转储
数据库管理员定期地将整个数据库复制到磁带,磁盘或其他存储介质上保存起来的过程。备用数据常称后备副本。
转储可分静态转储和动态转储。
静态转储是在系统无运行事务时进行的转储操作。简单,但会降低数据库的可用性。
动态转储指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。但转储结束时后援副本上的数据并不能保证正确有效。
还可分为海量转储和增量转储。海量转储是指每次转储全部数据库,增量转储则指每次只转储上一次转储后更新过的数据。
10.4.2登记日志文件
格式和内容。日志文件用来记录事务对数据库的更新操作的文件。
两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。
作用:①事务故障恢复和系统故障恢复必须用日志文件。②在动态转储方式中必须建立日志文件。③在静态转储方式中也可以建立日志文件。