浅析Oracle事务

2012-08-15 00:44山西郭如菊
职业技术 2012年8期
关键词:完整性事务语句

山西 郭如菊

在IT技术高速发展的今天,数据库技术的地位越来越重要。任何大型信息系统,都需要有数据管理系统作为支撑。其中,Oracle以其卓越的性能获得了广泛的应用。保持数据一致性和完整性,是每一款成功商业数据库都必须做到的基本要求。Oracle的事务正是保证数据库一致性和完整性的机制。了解和掌握事务的特点和使用技巧,可有效保证数据库的安全性和完整性。

一、事务及特性

(一)事务

事务是用户定义的由一条或多条SQL语句组成的逻辑操作单位,是数据库应用程序的基本逻辑单位。事务是保证数据库一致性和完整性的机制。一个事务中的SQL语句,全部执行时,就是提交事务,对数据库的修改会永久的保存到数据库;全部取消执行时,即撤销事务,回到执行前的数据库状态。

(二)事务的ACID特性

对一组SQL语句操作构成事务,数据库操作系统必须确保这些操作的原子性、一致性、隔离性、持久性。

1.原子性(Atomicity)

事务的原子性是指事务中包含的所有操作要么全做,要么不做,也就是说所有的活动在数据库中要么全部反映,要么全部不反映,以保证数据库的一致性。

2.一致性(Consistency)

事务的一致性是指数据库在事务操作前和事务处理后,其中数据必须满足业务的规则约束。事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

3.隔离性(Isolation)

隔离性是指数据库允许多个并发的事务同时对其中的数据进行读写或修改的能力,隔离性可以防止多个事务的并发执行时,由于它们的操作命令交叉执行而导致数据的不一致性。

4.持久性(durability)

事务的持久性也称永久性,是指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作不应该对其执行结果有任何影响。即便是系统在遇到故障的情况下也不会丢失,这是数据的重要性决定的。

二、事务控制语句

在Oracle数据库中,没有提供开始事务处理语句,所有的事务都是隐式开始的,也就是在Oracle中,用户不可以显示使用命令来开始一个事务。oracle任务第一条修改数据库的语句,或者一些要求事务处理的场合都是事务的隐式开始。但是当用户想要终止一个事务处理时,必须显示使用commit和rollback语句结束。

根据事务ACID属性,Oracle提供了如下的事务控制语句:

(一)Set transaction设置事物属性

set transaction语句可用来设置事物的各种属性。该语句必须放在事务处理的第一个语句。也就是说,必须在任何insert、update、delete语句以及其他的事务处理。

Set transaction的语句可以让用户对事务的以下属性进行设置:

1.指定事务的隔离层

2.规定回滚事务所使用的存储空间

3.命名事务

值得注意的一点是:set transaction只对当前事务有效;事务终止,事务当前的设置将会失效。

(二)Set constrains设置事物的约束模式

约束模式是指:在事务中修改数据时,数据库中的约束立即应用于数据,还是将约束推迟到当前事务结束后应用。

(三)Comm it提交事务对数据库的操作做持久的保存

(四)Ro llback回滚事务取消对数据库所作的任何操作

(五)Savepoint在事务中建立一个存储的点。当事务处理发生异常而回滚事务时,可指定事务回滚到某存储点,然后从该存储点重新执行。

(六)Release savepoint删除存储点

回滚的含义是撤销一个未提交事务中已执行的SQL语句对数据的修改。Oracle使用undo tablespace(或rollback segment)来存储被修改的数据的原始值。而redo log内则保存了对数据修改操作的记录。

用户可以回滚整个未提交事务。除此之外,用户还可以部分回滚未提交事务,即从事务的最末端回滚到事务中任意一个被称为保存点的标记处。

通过本文的分析,可以看到事务从开始到结束的完整过程,事务处理技术是数据管理系统的重要组成部分,如何正确合理的应用以保证数据库的安全性和完整性还需要每个使用者认真的研究。

[1]王珊,萨师煊.数据库系统概论(第四版).北京:高等教育出版社,2006.

[2]《国家人力资源和社会保障部、国家工业和信息化部信息专业技术人才知识更新工程(“653工程”)指定教材》丛书编委会.Oracle数据库管理与应用教程.北京:中国电力出版社,2009.

[3]郑阿奇.Oracle实用教程.北京:电子工业出版社,2007.

猜你喜欢
完整性事务语句
北京市公共机构节能宣传周活动“云”彩纷呈北京市机关事务管理局
石油化工企业设备完整性管理
重点:语句衔接
河湖事务
基于改进乐观两阶段锁的移动事务处理模型
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
基于优先级的多版本两阶段锁并发控制协议
我喜欢
作文语句实录