Oracle --- 事务隔离级别

深入了解Oracle数据库的事务隔离级别 在多用户的数据库环境中,多个事务可能会同时对数据库进行读写操作。事务隔离级别用于定义一个事务与其他事务之间的隔离程度,它直接影响到数据的一致性和并发性能。本文的目的是深入探讨Oracle数据库中不同事务隔离级别的原理、特点、适用场景以及它们对数据库操作的影响。范围涵盖了Oracle数据库中常见的事务隔离级别,包括READ COMMITTED、SERIALIZABLE等,以及相关的并发控制机制和锁策略。本文将按照以下结构进行组织:首先介绍事务隔离级别的核心概念和它们之间的联系,通过示意图和流程图直观展示; 阅读详情

隔离级别(isolation level),是指事务与事务之间的隔离程度。

 

显然,事务隔离程度越高,并发性越差、性能越低;事务隔离程度越低,并发性越强、性能越高。

 

ANSI/ISO SQL92标准中定义了4种事务隔离级别:

 

1.       序列化(serializable)

最高隔离级别。系统中所有的事务都是一个接一个执行的。因此也就不会发生任何事务之间的冲突问题。

 

2.       可重复读(repeatable read)

一个事务所读取的数据记录不允许被其他事务所修改。

 

3.       读已提交(read committed)

该级别允许其他事务修改当前事务所读取的数据记录,并且那个事务提交之后,当前事务可以看到修改后的数据。

 

4.       读未提交(read uncommitted)

该级别允许其他事务修改当前事务所读取的数据记录,并且那个事务尚未提交时,当前事务就可以看到修改后的数据。即允许脏读。

 

事务隔离级别不同,执行一条数据库查询,得到的结果很可能让你感到意外,下面是这些情况的总结:

 

1.       脏读

读取了其他事务还没有提交的数据。

 

2.       不可重复读

当前事务已经读取的数据记录,被其他事务修改或删除。

 

3.       幻影读

其他事务插入了新的数据,当前事务以相同的查询条件,在那个事务插入数据之前和之后查询数据,得到的数据记录的条数不一样。

 

隔离级别

脏读

不可重复读

幻影读

序列化

N

N

N

可重复读

N

N

Y

读已提交

N

Y

Y

读未提交

Y

Y

Y

 

Oracle明确支持ANSI/ISO SQL92中定义的serializable和read committed两种事务隔离级别。

 

同时,Oracle还提供了自己独有的事务隔离级别:read only。

 

所以,可以说Oracle共支持3种事务隔离级别:

 

1.       serializable

2.       read committed

3.       read only

 

Oracle默认的隔离级别是read committed。

STM32 AFIO时钟开启时机与复用功能解析 在嵌入式系统开发中,GPIO复用是微控制器外设配置的核心技术之一。通过复用功能,单个物理引脚可以动态切换不同功能模式,如USART通信或普通IO。其实现原理依赖于芯片内部的时钟树架构和寄存器配置机制。AFIO(Alternate Function I/O)模块作为STM32的特色设计,专门处理引脚重映射、外部中断配置等高级功能。正确理解复用功能与AFIO时钟的关系,能显著提升嵌入式开发效率,避免资源浪费。本文以STM32为例,结合引脚重映射和USART配置等典型场景,详解AFIO时钟的实际应用规范与优化实践 阅读详情

相关推荐

IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)

实现三分频电路最简单的是: 利用计数器实现。 时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了): 直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号 clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。 例如占空比50%: module Div_three( input clk, input rst_n, output div_three ); reg

qq_41884662的博客 1万+

ORACLE学习笔记-事物的隔离级别

一、事物的隔离级别 数据库事物的隔离级别分为4种,由低到高分别为Read Uncommited、Read Commited、Repeatable read、Serialized。 1、Read Uncommited 读未提交/未提交读:一个事务中可以读取到另一个未提交事务的数据。 2、Read Commited 读提交/提交读/一致性读:一个事务要等另一个事务提交后才能读取到数据。 3、Repeatable read 重复读:就是在开始读取数据时,不再允许修改操作。 4、Serialized 序列化/串行化

gangma2 7111

信息流广告ROI线性预测看板&投放分析监控看板展示&数据处理入库全流程

此看板数据量太大,在tableau public部署运行速度极慢,因此用图片作展示 数据清洗

Larry_Westside的博客 2308

Oracle事务隔离级别

一、事务四个性质(ACID)。 1、原子性(Atomaicity)        一个事务是一个不可分割的单元。 2、一致性(Consistency)       事务的原子性保证的事务的一致性。 3、隔离性(Isolation)        三种现象:        1)、脏读                  即读出其它事务未提交的数据。         2)、不可重复读...

sqcwfiu 892

wimdows11 eplan安装过程及遇到的问题

eplan 安装 我的资源里的下载地址,当然也可以有其他渠道下载 https://download.csdn.net/download/weixin_45529296/85061161 安装1 打开“Electric P8 2.7.3.11418”目录,运行“setup.exe”开始安装,选择系统和程序 接受许可协议,下一步 自己配置安装的各种路径,下一步 安装这个没什么问题,直到完成就行; 安装2 ...

csdn-1122 2万+

PP生产订单的BADI增强 WORKORDER_UPDATE

我们的项目需求是: 1、 保存时检查工单BOM是否存在物料号相同的行项目,如果有则提示“物料& 重复,请检查工单BOM” 系统增强出口:PPCO0001,检查组件行项目是否有重复物料项 开始以为的增强增强看一下是用PPCO0001还是PPCO0007 后来找到了badi WORKORDER_UPDATE IF_EX_WORKORDER_UPDATE~BEFORE_UPDATE

ERP运维咨询(目标和成功) 4631

Oracle的事务及隔离级别

一、事务和隔离级别   事务的概念;事务是把对数据库的一系列操作都看做一个整体,要么全部成功,要么全部失败,利用事务我们可以保证数据库的完整性,事务具有原子性。   隔离级别:隔离级别定义了事务与事务之间的隔离距离。   事务的隔离级别:      隔离级别解释:    脏读(dirty read):当一个事务读取另一个事务未提交的修改时,产生脏读。   不可重复读(nonre...

anita9999的博客 1286

RAG项目简历包装指南:从“流水线工人”到“问题解决者”的跃迁(附代码与思路)

本文代码已在Python 3.11 + CUDA 12.3环境测试,部分功能需LangChain 0.2+支持。

Conan_0728的博客 1879

ORACLE事务隔离级别

事务在所有的关系型数据库中都是一个非常非常非非常常重要的概念。 1.什么是事务 2.事务的acid属性 参见http://docs.oracle.com/database/121/CNCPT/transact.htm#CNCPT016

shengshiqing的专栏 3284

ICC2: place阶段的clock network delay

设置了set_clock_latency之后,即便没长tree,也会有反标值,显示为clock network delay(ideal)和设置的clock latency值,需要注意的是同时设置set_clock_latency和set_clock_latency -source,clock network delay(ideal)值是二者叠加的。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 308

[明道云] -基础教学1- 创建第一个工作表:从 0 到实用

明道云工作表相当于数据库表,是存储业务数据的核心组件。创建工作表主要有两种方式:1)从空白新建,通过添加字段(最多200个)、设置属性、配置表单样式;2)从Excel导入,需选择sheet、配置字段映射。创建后系统自动生成默认视图,支持多种视图形式(看板/日历等)。建议设置合适的标题字段和关联关系,初学者可在一小时内完成基础应用搭建。后续可扩展权限控制、工作流自动化等功能。

每日出拳老爷子的博客 554

oracle事务隔离级别

ORACLE数据库事务隔离级别 事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。 两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题: 1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。 2、不可重复读

zjlolife的专栏 828

uniapp - 解决在线预览PDF文件空白打不开的问题,无论是后端下载二进制文件流pdf还是本地插件或JS预览查看打开白屏不显示,详细排查解决(适用于移动端H5网页、安卓/苹果app、微信小程序)

uniapp App端 实现pdf文件预览打开白屏解决,uniapp 在线预览pdf打开一片空白,跨域白屏,uni-app中使用WebView预览PDF文件打开空白,微信小程序(uniapp)预览PDF空白怎么办,下载PDF文件流后打开空白或无法打开的问题,Uniapp H5网页下载二进制pdf文件页面空白以及解决文件损坏打不开的情况,Uniapp app在线预览pdf文件流,PDF加载出来怎么办,服务器后端返回PDF文件流后前端进行下载但打开后一片白屏,解决pdf文件流,预览全是空白页,pdf文件流,下载

🏆 前端领域优质创作者 1万+

mysql oracle 默认事务级别_oracle 默认的事务隔离级别

2.隔离级别实现上一节介绍了ANSI定义的3种异象,及根据禁止异象的个数而定义的事务隔离级别。因为不存在严格、严谨的“官方”定义,各主流2.1 Lock-based 隔离级别实现在展示Lock-based隔离级别实现前,先介绍几个与锁相关的概念:Item Lock:对访问行加锁,可以防止dirty/fuzzy read。Predicate Lock(gap lock):对search的范围加锁,全...

weixin_39880623的博客 5086

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

[Oracle] 事务隔离级别(Oracle的实现方式)

在前一篇文章中提到ANSI定义的事务隔离级别标准(http://blog.csdn.net/u010415792/article/details/8977635),但各个厂商实现的方式却不尽相同,本文主要介绍Oracle实现的事务隔离级别,Oracle所有的隔离等级都依赖于undo,隔离级别越高,出现ORA-01555错误的可能性越大。 1、Read committed (Default

Zhu_Julian's Notes (朱显杰的技术博客) 6150

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

mysql和oracle的事务隔离级别_oracle之事务隔离级别

本文小节了oracle中事务隔离级别。ANSI SQL标准定义了4中隔离级别:READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSERIALIZABLE隔离级别允许或不允许的3种现象Dirty read(脏读):能读到未提交的数据。Nonrepeatable read(不可重复读):可能会出现丢失更新。Phantom read(幻像读): 已读的数据不会改变...

weixin_36102776的博客 1050

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

oracle默认事务隔离级别

事务隔离级别定义了一个事务在读取数据时,能看到其他并发事务所做修改的程度,主要用于解决以下并发问题:​脏读(Dirty Read)​​:读取到其他事务未提交的数据。​不可重复读(Non-repeatable Read)​​:同一事务内多次读取同一数据,由于其他事务的修改或删除,导致前后读取结果不一致。​幻读(Phantom Read)​​:同一事务内执行相同的查询,由于其他事务插入了新数据,导致查询结果中出现“幻影行”。

zwh1zwh的博客 841

oracle事务讲解、事务隔离级别实例

今天温习oracle事务,记录如下:  事务定义            事务是保持数据的一致性,它由相关的DDL或者DML语句做为载体,这组语句执行的结果要么一起成功,要么一起失败。      我们知道SQL92标准定义了数据库事务的四个特点: 原子性 (Atomicity) :一个事务里面所有包含的SQL语句是一个执行整体,不可分割,要么都做,要么都不做 一致性 (Co...

LIXG425的专栏 267

mysql和oracle默认事务级别_mysql oracle默认事务隔离级别的说明

这篇文章主要介绍了mysql、oracle默认事务隔离级别的说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧1.事务的特性(ACID)(1)原子性(Atomicity)。事务中所涉及的程序对数据库的修改操作要么全部成功,要么全部失败。(2)一致性(Consistency)。事务执行前和执行后来源和去向保持平衡。(3)隔离性(Isolation)。并发时每个事务是隔离的,相互不影...

weixin_36484898的博客 1923

oracle事务的隔离级别

一、事务和隔离级别   事务的概念;事务是把对数据库的一系列操作都看做一个整体,要么全部成功,要么全部失败,利用事务我们可以保证数据库的完整性,事务具有原子性。   隔离级别:隔离级别定义了事务与事务之间的隔离距离。   事务的隔离级别:      隔离级别解释:    脏读(dirty read):当一个事务读取另一个事务未提交的修改时,产生脏读。   不可重复读(nonrep...

程序小赵的博客 2361

oracle事务的隔离级别和锁

1. 事务的ACID特性: (1) 原子性 Atomicity: 事务所包含的数据库操作要么都做,要么都不做 (2) 一致性 Consistency: 数据库中只包含执行成功的结果,每个用户看到的数据是一致的 (3) 隔离性 Isolation: 事务对数据的操作不能够受到其他事务的影响 (4) 持续性 Durability: 数据库事务一旦提交,其对数据库中数据的改变应该是永久性的

技术人生 1万+

Oracle中的事务隔离级别

在Oracle中,读取操作不会阻碍更新操作,更新操作也不会阻碍读取操作,这样在Oracle中的各种隔离级别下,读取操作都不会等待更新事务结束,更新操作也不会因为另一个事务中的读取操作而发生等待,这也是Oracle事务处理的一个优势所在。 oracle支持Read Committed和Serializable级别,默认的隔离级别是Read committed,在oracle中隔离级别实现如下: ...

21号先锋者 2615

Oracle 设置事务隔离级别

设置一个事务的隔离级别: SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET TRANSACTION READ ONLY; SET TRANSACTION READ WRITE; 注意:这些语句是互斥的,不能同时设置两个或两个以上的选项。 设置单...

21号先锋者 3512

mysql、oracle默认事务隔离级别

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33866037的博客 1031
上一篇: ORACLE分页查询SQL语法——最高效的分页
下一篇: 关于Oracle中read only Transaction
skiof007
博客等级 码龄19年 147粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值