概述
l故障是不可避免的
–计算机硬件故障
–软件的错误
–操作员的失误
–恶意的破坏
l故障的影响
–运行事务非正常中断,影响数据库中数据的正确性–破坏数据库,全部或部分丢失数据
概述
l数据库的恢复
–数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复管理系统对故障的对策
l恢复子系统是数据库管理系统的一个重要组成部分l恢复技术是衡量系统优劣的重要指标
故障的种类
1.事务内部的故障
2.系统故障
3.介质故障
4.计算机病毒
事务内部的故障
l事务内部的故障
–有的是可以通过事务程序本身发现的(见下面转账事务的例子)
–有的是非预期的,不能由事务程序处理的。
事务内部的故障
l例如,银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙。
BEGIN TRANSACTION
读账户甲的余额BALANCE;
BALANCE=BALANCE-AMOUNT;/*AMOUNT为转账金额*/
数据库故障恢复IF(BALANCE<0)THEN
{打印‘金额不足,不能转账’;
/*事务内部可能造成事务被回滚的情况*/ ROLLBACK;/*撤销刚才的修改,恢复事务*/
}
ELSE
{读账户乙的余额BALANCE1;
BALANCE1=BALANCE1+AMOUNT;
写回BALANCE1;
COMMIT;}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论