事务的四大特性

  1、原子性(Atomicity)

事务的原子性是指事务中包含的所有操作要么都做,要么都不做,保证数据库是一致的。

2、一致性(Consistency)

一致性是指数据库在事务操作前和事务处理后,其中的数据必须都满足业务规则约束。

3、隔离性(Isolation)

隔离性是数据库允许多个并发事务同时对齐数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。

如果不考虑事务的隔离性,会导致以下不正确的问题:

    • a、脏读:指一个事务读到了另外一个事务中未提交的数据
    • b、不可重复读:指一个事务读到了另外一个事务update后(事务提交了)的数据
    • c、虚读:指一个事务读到了另外一个事务insert的数据

4、持久性(Durability)

持久性表示为:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

  

数据库有四个隔离级别:

READ UNCOMMITTED:脏读、不可重复读、虚读都有可能发生。

READ COMMITTED:防止脏读发生;不可重复读、虚读都有可能发生。

REPEATABLE READ:(MySQL默认级别)防止脏读、不可重复读;虚读有可能发生。

SERIALIZABLE:防止脏读、不可重复读、虚读的发生

特点:从上到下,隔离级别越高,数据越安全,但是效率越低

在 Oracle 中对于每一个连接到数据库的窗口(sqlplus、sqlplusw)连接之后实际上都会与数据库的连接建立一个 session,即:每一个连接到数据库上的用户都表示创建了一个 session。

一个 session 对数据库所做的修改,不会立刻反映到数据库的真实数据之上,是允许回滚的,当一个session 提交所有的操作之后,数据库才真正的作出修改。

在数据库的操作中提供了以下的两个主要命令完成事务的处理:

提交事务:commit ;

回滚事务:rollback ;

如果数据已经被提交了,则肯定无法回滚

在 Oracle 中关于事务的处理上也会存在锁的概念

 一个 session 如果更新了数据库中的记录,其他 session 是无法立刻更新的,要等待对方提交

之后才允许更新。

Oracle 事务处理的更多相关文章

  1. Oracle事务处理

    原文转自:(http://www.cnblogs.com/ITtangtang/archive/2012/04/23/2466554.html) 一.事务概念事务用于保证数据的一致性,它由一组相关的d ...

  2. oracle事务处理及实例演示jdbc操作批量删除

    事务 作为逻辑处理的基本单位,对于数据库操作来说由一条或者多条sql语句来构成.当然还有针对非数据库操作的,如在计算机中设置的还原点即是一个非常好的应用. 对于事务的基本性质在还有一篇中有所叙述:SQ ...

  3. 关于ORACLE事务处理的一些笔记

    这是2013年在看ORACLE概念手册的时候的一些笔记,现在整理如下(可能跟其他一些文章的内容有重复):     20131012 周六 oracle概念手册中文版 第4章 事务管理   事务具有原子 ...

  4. oracle 事务处理 注意事项(笔记)

    事务:一个独立的逻辑工作单元.它有特定的一系列必须作为一个整体一起成功或者失败的SQL语句组成.是一个要么全有要么全无,很个性的一个东东. 事务的四大属性——ACID属性:原子性(atomicity) ...

  5. Oracle与SQL Server事务处理的比较

    事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异.事务处理也是数据库管理员与数据库应用程序开发人员必须深刻理解的 ...

  6. 数据库事务隔离级ORACLE数据库事务隔离级别介绍

    本文系转载,原文地址:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committ ...

  7. oracle 笔记

    1.Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create databas ...

  8. oracle系列索引

    今天终于把oracle入门的知识通篇过了一遍. 一篇文章没有写,先做个索引.把知识系统的梳理下. 数据库基本概念-oracle介绍 oracle安装,配置,启动 oracle工具 sqlplus 用户 ...

  9. SQL Server与Oracle中的隔离级别

    在SQL92标准中,事务隔离级别分为四种,分别为:Read Uncommitted.Read Committed.Read Repeatable.Serializable 其中Read Uncommi ...

随机推荐

  1. Python标准库:内置函数delattr(object, name)

    本函数是用来删除对象的属性,比方在函数setattr()里加入的属性,就能够利用这个函数来删除. 參数object是一个对象,參数name是一个字符串,但这个字符串必须是对象的属性.比方delattr ...

  2. django用户认证系统——注册3

    用户注册就是创建用户对象,将用户的个人信息保存到数据库里.回顾一下 Django 的 MVT 经典开发流程,对用户注册功能来说,首先创建用户模型(M),这一步我们已经完成了.编写注册视图函数(V),并 ...

  3. 第一只python爬虫

    import urllib.request response = urllib.request.urlopen("http://www.baidu.com") html = res ...

  4. JZOJ.5285【NOIP2017模拟8.16】排序

    Description

  5. 《从零开始学Swift》学习笔记(Day 62)——Core Foundation框架之内存托管对象与非托管对象

    原创文章,欢迎转载.转载请注明:关东升的博客 内存托管对象 Swift中调用Core Foundation函数获得对象时候,对象分为:内存托管对象和内存非托管对象. 内存托管对象就是由编译器帮助管理内 ...

  6. flex组合流动布局实例---利用css的order属性改变盒子排列顺序

    flex弹性盒子 <div class="container"> <div class="box yellow"></div> ...

  7. 学习使用turtlebot2——调试Hokuyo激光雷达(型号UST-10LX)

    目标 在ROS上调试使用Hokuyo激光雷达传感器 配置情况     电脑使用Ubuntu 14.04版本,ROS为 Indigo,激光雷达为Hokuyo(型号UST-10LX,网口型接口)   如果 ...

  8. delphi -----(去掉窗口最大化,最小化、关闭),主窗口,和子窗口之间的设置

    一.去掉窗口最大化,最小化.关闭 borderIcons:biSystemMenu:false borderStyle:bsSizeable 二.主子窗口 主main: //调用子窗体procedur ...

  9. iOS开发——生命周期

    为了处理好应用程序的挂起.暂停等情况下的数据保存,或对应添加所需处理,我们必须了解ios生命周期. 但是不要去背去记,做个实验就好. - (BOOL)application:(UIApplicatio ...

  10. 四、H5 录制视频 Web Real-Time Communication

    Web Real-Time Communication HTML5实现视频直播功能思路详解_html5教程技巧_脚本之家 https://m.jb51.net/html5/587215.html