zoukankan      html  css  js  c++  java
  • 事务的ACID特性

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    mq和kafaka架构方面对比高可用性
    一 mq简介
    gtibook 写api文档
    StackExchang.Redis 不稳定
    Log4Net 帮助类
    Android学习之Recyclerview
    《程序员修炼之道--从小工到专家》读书小计
    Xcode7 使用WebView loadRequest发送HTTP请求的问题
    ashx中应用HttpContext.Current.Session ,呈现未将对象引用设置到实例(转)
    Oracle 删除重复数据只留一条【转】
  • 原文地址:https://www.cnblogs.com/shadowduke/p/4931990.html
Copyright © 2011-2022 走看看