码迷,mamicode.com
首页 > 其他好文 > 详细

事务的ACID特性

时间:2015-11-03 00:41:09      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

所有的oracle事务都遵循数据库基本的事务特性,就是所谓的ACID特性。

ACID是以下四个事务特性的缩写:

1. 原子性 一个事务的所有工作要么都(成功)执行,要么都不执行。不会发生只执行一部分的情况。

比如说,一个事务开始更新100行记录,但是在更新了20行之后(因为某种原因)失败了,那么此时数据库会回滚(撤销)对那20条记录的修改。

 

2. 一致性 事务将数据库从一个一致性状态带入另一个一致性状态。

比如说,在一个银行事务(在描述关系数据库事务的特性时,基本上都是用银行事务来作为描述对象的)中,需要从存储账户扣除款项,然后在支付账户中增加款项。 如果在这个中转的过程发生了失败,那么绝对不能让数据库只执行其中一个账户的操作,因为这样会导致数据处于不一致的状态(这样的话,银行的账目上,借贷就不平衡了)。

 

3. 隔离性 这个特性是说,直到事务结束时(commit/rollback),其他事务(或者会话)对此事务所操作的数据都不可见(但并不是说其他会话的读取会被阻塞)。

比如说,一个用户正在修改hr.employees表,但是没有提交,那么其他用户在这个修改没有提交之前是看不到这个修改的。

 

4. 永久性 被提交的更改会永久地保存到数据库中(并不是说以后就不可以修改)。 事务提交之后,数据库必须通过“恢复机制”来确保事务更改的数据不会丢失。

事务的ACID特性

标签:

原文地址:http://www.cnblogs.com/shadowduke/p/4931990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!