文档介绍:第七章数据库恢复技术事务 4事务定义–事务是用户定义的一个数据库操作序列构成, 这些操作要么全做,要么全不做,是一个不可分割的工作单位。–事务与应用程序是两个概念,一般来说,一个应用程序可以包含多个事务。–事务的开始与结束可以由用户显式控制。如果用户没有显式定义事务,则由 DBMS 按缺省规定自动划分事务。 SQL 中事务的定义 4事务以 Begin transaction 开始,mit work 或 Rollback work 结束。 mit work 表示提交,事务正常结束。 4 Rollback work 表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态。事务的例子 BEGIN TRANSACTION READ 甲账户余额;甲账户余额- = 1000; IF 甲账户余额 <0 THEN; ROLLBACK WORK; ELSE WRITE 甲账户余额; READ 乙账户余额;乙账户余额+ =1000; WRITE 甲账户余额; COMMIT WORK; 事务的特性( ACID ) 4原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。 4一致性(Consistency) 事务执行的结果应当使数据库从一个一致性状态转变为另一个一致性状态。事务的特性( ACID ) 4隔离性(Isolation) 一个事务的执行不能被其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能相互干扰。事务的特性( ACID ) 4持久性(Durability) 一个事务一旦提交之后,它对数据库的影响必须是永久的。事务提交后,系统发生故障不能改变事务的持久性。数据库恢复概述 4虽然数据库系统中采用了各种措施来保证系统安全性和完整性,但计算机系统的故障是不可避免的,这些故障轻则造成运行事务的非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的全部或部分数据丢失,因此数据库管理系统必须具有把数据库从错误状态恢复到某一已知正确状态的功能, 这就是数据库的恢复。数据库恢复是通过数据库管理系统的恢复子系统完成的。数据库恢复概述 4数据库恢复子系统的目的包括: –保证事务的原子性,即确保一个事务被交付运行后,要么该事务中的所有数据库操作都被成功地完成,而且这些操作的结果被永久地存储到数据库中,要么这个事务对数据库没有任何影响。–当系统发生故障以后,数据库能够恢复到正确状态。故障的种类 4事务内部的故障–事务内部的故障包括可预期的和不可预期的。可预期的是指可以通过事务程序本身发现和处理的故障。而不可预期的错误是指那些不能由应用程序处理的事务故障,如死锁,运算溢出,违反完整性规则等。