- 3
- 0
- 约6.36千字
- 约 110页
- 2019-03-09 发布于福建
- 举报
认证考试第七章 数据库系音统的恢复和并发操纵技巧
事务:是一个不可分割的操作序列,该操作序列要么全做,要么全不做。
强调:事务和程序是两个概念。 一个程序中可以包含多个事务。;隐式控制:由DBMS按缺省规定自动划分。
显式控制:
BEGIN TRANSACTION [事务开始]
COMMIT [事务提交,重新改写数据库]
ROLLBACK [事务提交,发生错误撤消]; BEGIN TRANSACTION
DELETE
FROM S
WHERE S#=‘10002’
DELETE
FROM SC
WHERE S#=‘10002’
ROLLBACK;1、原子性(Atomicity)
事务是不可分割的工作单位
2、一致性(Consistency)
事务提交后,数据库从一个一致性状态变到另一个一致性状态。;例:现假设一个公司数据库中有两个账户S,C,分别有存款30万元和20万元,现从S账户上的取出10,万元放入到C账户上。;S:200000
C:200000
,,中间状态;3、隔离性(Isolation)
在事务完成之前,它对数据库产生的结果不能被其它事务引用。
4、持续性(Durability)
一旦事务执行成功(提交),其对数据库产生的效果永久有效。;T1的修改被T2覆盖了!;事务的特性,;故障是不可避免的
计算机硬件故障
系统软件和应用软件的错误
操作员的失误
恶意的破坏
故障的影响
运行事务非正常中断
破坏数据库;数据库管理系统对故障的对策
DBMS提供恢复子系统
保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态
保证事务ACID
恢复技术是衡量系统优劣的重要指标;数据库的恢复:
把数据库从错误状态恢复到某一已知的正确状态。;1.事务内部故障
可能造成事务执行失败
预期故障(逻辑错误):
通过在程序中加判断条件来实现
非预期的故障(系统错误):
如由于死锁而被迫撤销的事务等;BEGIN TRANSACTION
READ(sal) FROM table1;
sal = sal – amout;
IF (sal 0) THEN
{PRINT “Not enough money!”;
ROLLBACK;}
ELSE
{WRITE(sal);
READ(sum) FROM table2;
sum = sum + amout;
WRITE(sum);
COMMIT;};2.系统故障
造成系统停止运转的任何事件(需要系统重新启动)
原因:硬件错误、操作系统故障、突然停电等。
特点:故障影响???在运行的所有事务,但不破坏数据库。可能会造成数据库中数据的不一致性。其原因:
故障发生时,尚未完成的事务的结果可能已送入到物理数据库。
故障发生时,有些已完成的事务所做的数据更改还在缓冲区中,尚未写到物理数据库中。;3.介质故障
是指存储数据库的磁盘发生故障。
原因:可能是磁盘损坏、磁头碰撞、瞬时强磁场干扰等。
特点:使数据库受到破环。虽然可能性小,但破坏性最大。;两个关键问题:
1 如何建立冗余数据
2 如何利用这些冗余数据实施数据库恢复;一、什么是转储;转储;1、数据转储
转储:定期将DB复制到其它外存保存(副本)
1、转储类型
静态转储:在系统空闲的时候进行,转储期间不允许对数据库进行操作。
优点:简单、保证副本和数据库数据的一致性。
缺点:需等待。
;利用静态转储副本进行恢复;动态转储;利用动态转储副本进行恢复;2、转储方式
海量转储:每次转储数据库中的全部数据
增量转储:每次转储上一次转储后更新过的数据 ;转储策略;登记日志文件;一、日志文件的内容;3.,日志文件内容(以记录为单位)
各个事务的开始标记(BEGIN,TRANSACTION)
各个事务的结束标记(COMMIT或ROLLBACK)
各个事务的所有更新操作
与事务有关的内部更新操作
日志文件中的一个日志记录,(log,,record);4.,基于记录的日志文件;事务标识(标明是哪个事务)
操作类型及对象(插入、删除、修改,记录内部标识)
更新前后的值
常用格式:Ti,start, , ,
Ti,update,sno,oldval,newval
Ti,commit, ,
原创力文档

文档评论(0)