文档介绍:第七章 数据库恢复技术
目录
上一页
下一页
退出
1
本章要点
事务的基本概念
事务的特性ACID
恢复机制和技术
故障及其恢复
检查点
小结
2
事务的基本概念
事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
例如银行转帐
SQL中事务的定义:
Begin transaction:mit work或 Rollback work:mit work表示提交,事务正常结束
Rollback work表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态
要点
3
事务示例
银行转帐:事务T从A帐户过户50¥到B帐户。
T: read(A);
A := A – 50;
write(A);
read(B);
B := B + 50;
write(B);
read(X):从数据库传送数据项X到事务的工作区中
write(X):从事务的工作区中将数据项X写回数据库
要点
4
事务的特性ACID
原子性(Atomicity)
事务中包含的所有操作要么全做,要么全不做
原子性由恢复机制实现
一致性(Consistency)
事务的隔离执行必须保证数据库的一致性:事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。
数据库的一致性状态由用户来负责。
如银行转帐前后两个帐户金额之和应保持不变
要点
5
事务的特性ACID
隔离性(Isolation)
系统必须保证事务不受其它并发执行事务的影响:对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行。
隔离性通过并发控制机制实现
持久性(Durability)
一个事务一旦提交之后,它对数据库的影响必须是永久的:系统发生故障不能改变事务的持久性。
持久性通过恢复机制实现
要点
6
事务状态
要点
活动状态
失败状态
部分
提交状态
提交状态
中止状态
初始状态
事务无法继
续正常执行
事务回滚,数据库恢
复到事务开始前状态
最后一条语
句被执行后
成功完成,永
久写入数据库
7
恢复机制和技术
数据库的恢复------ DBMS必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能。
恢复的基本原理:冗余
常用技术:
数据转储:DBA定期备份数据到其他磁盘,数据库遭破坏后重新装入
静态转储:在事务结束后进行,副本一定正确
动态转储:在事务运行中进行,副本有可能过时
登录日志文件
记录事务对数据库的操作,以记录为单位
要点
8
日志文件(Logging)
日志文件内容:
事务开始、结束标记和所有更新操作
文件由记录组成,记录组成部分包含:
事务标识
操作类型(插入、删除和修改)
操作对象
数据在更改前后的值
作用:协助备份进行恢复,可不必重做所有事务:redo已完成的事务,undo未完成的事务。
用于某些故障恢复时随副本一起装入
动态转储时必须建立
静态转储时也可以选择
要点
9
登记日志的原则
严格按照事务的执行的时间顺序
事务执行时,要先写日志文件,再写数据库
利用日志文件恢复的图示:
要点
Ta
Tb
Tf
登记日志文件
重装副本
利用日志恢复事务
登记日志文件
继续执行
10