PARTIII-Oracle事物管理-数据并发性和一致性

news/2025/1/15 14:27:21/文章来源:https://www.cnblogs.com/crispy-bro/p/18405956

9.数据并发性和一致性

本章解释了Oracle数据库如何在多用户数据库环境中维护一致性的数据。

本章包含以下部分:

  • 数据并发性和一致性的介绍
  • Oracle数据库事务隔离级别的概述
  • Oracle数据库锁定机制的概述
  • 自动锁定的概述
  • 手动数据锁定的概述
  • 用户定义锁的概述

9.1. 数据并发性和一致性的介绍

在单用户数据库中,用户可以修改数据,而不必担心其他用户同时修改相同的数据。然而,在多用户数据库中,多个同时进行的事务中的语句可以更新相同的数据。同时执行的事务必须产生有意义且一致的结果。因此,多用户数据库必须提供以下内容:

  • 数据并发性,确保用户可以同时访问数据
  • 数据一致性,确保每个用户看到的数据视图是一致的,包括用户自己的事务所做的可见更改以及其他用户已提交事务的更改

为了描述事务在并发运行时的一致行为,数据库研究人员定义了一个称为可序列化的事务隔离模型。可序列化事务在一个环境中运行,使其看起来好像没有其他用户在修改数据库中的数据。

虽然通常期望事务之间有这种程度的隔离,但在可序列化模式下运行许多应用程序可能会严重损害应用程序的吞吐量。并发运行事务的完全隔离可能意味着一个事务不能向另一个事务正在查询的表中插入数据。简而言之,现实世界的考虑通常需要在完美的事务隔离和性能之间做出妥协。

Oracle数据库通过使用多版本一致性模型以及各种类型的锁和事务来维护数据一致性。通过这种方式,数据库可以向多个并发用户提供数据视图,每个视图都与时间点一致。因为可以同时存在数据块的不同版本,事务可以读取查询所需的时间点提交的数据版本,并返回与单个时间点一致的结果。

9.1.1. 多版本读一致性

在Oracle数据库中,多版本化是指能够同时实现数据的多个版本的能力。Oracle数据库维护多版本读取一致性,这意味着数据库查询具有以下特性:

  • 读取一致性查询
    查询返回的数据是已提交的,并且与单个时间点一致。
    重要提示:Oracle数据库从不允许脏读,脏读发生在一个事务读取另一个事务中的未提交数据时。

    为了说明脏读的问题,假设一个事务在未提交的情况下更新了一个列值。第二个事务读取了更新后的脏(未提交)值。第一个会话回滚了事务,使得列值恢复为旧值,但第二个事务继续使用更新后的值,从而破坏了数据库。脏读会损害数据完整性,违反外键,并忽略唯一约束。

  • 非阻塞查询
    数据的读取者和写入者不会相互阻塞(见第9-12页的“锁定行为摘要”)。

9.1.2. 锁机制

9.1.3. ANSI/ISO 事务隔离级别

9.2. Oracle数据库事务隔离级别的概述

9.3. Oracle数据库锁定机制的概述

9.4. 自动锁定概述

9.5. 手动数据锁定概述

9.6. 用户定义锁概述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794875.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linguistics-English-that从句系列: 主语 + 宾语 + 表语 + 同位语 + 定语

Linguistics-English-that从句系列: 主语 + 宾语 + 表语 + 同位语 + 定语

代码随想录算法 - 二叉树

题目1 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1:输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3] 输出:[2,3,1]示例 3: 输入:root = [] 输出:[]提示:树中节点数目范围在 [0, 100] 内 -…

PTE-MG诊所靶场 wirteup

一.信息收集 1.端口扫描 使用nmap进行扫描,结果如下 ┌──(kali㉿kali)-[~] └─$ nmap -sV 10.0.0.91 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-09 21:37 EDT Nmap scan report for 10.0.0.91 Host is up (0.027s latency). Not shown: 993 filtered tcp por…

煤矿安全帽佩戴检测系统

煤矿安全帽佩戴检测系统在安全生产中是至关重要的。全天候24h识别监督作业人员是否佩戴安全帽,能提高工人的安全防范意识,降低危险发生的几率。伴随着行业需求的持续细分化,煤矿安全帽佩戴检测系统将快速迭代,应用安全帽或工作服装开展分组管理,融合脸部鉴别系统,对重点区…

明厨亮灶监控系统

明厨亮灶监控系统可以识别厨师帽厨师服的穿戴识别,不戴口罩识别,餐厅厨房抽烟识别,后厨出现老鼠识别报警,发现陌生人进入后厨行为及时警报并将报警信息同步给相关工作人员的手机上,协助餐厅厨房工作员提高标准意识。“人工智能厨房”借助传统监控摄像头、视频传输和显示等…

UE中如何制作后处理设置面板

1)UE中如何制作后处理设置面板2)Magica Clothes 2插件与Burst编译问题3)UI大小和文本变量4)如何检索直线与网格的所有交点这是第399篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。 UWA社区主页:c…

Winform C# 窗体应用程序简单入门

搬运来源:https://blog.csdn.net/weixin_46262993/article/details/104169982?spm=1001.2014.3001.5502 一、什么是Winform? WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用C#编程。C# WinForm 编程需要创建「Windows窗体…

SAP ABAP 选择屏幕加按钮

示例: SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002. SELECTION-SCREEN:BEGIN OF LINE,PUSHBUTTON 1(15) sel USER-COMMAND sel,PUSHBUTTON 17(15) unsel USER-COMMAND unsel,END OF LINE.SELECTION-SCREEN BEGIN OF LINE. PARAMETERS: c01 TYPE char1 AS CH…

国产游戏蓄力,火山引擎ByteHouse助力游戏厂商造爆款

ByteHouse具备高性能特性,在高并发、点查场景中具备显著优势,并且全面兼容ClickHouse、MySQL生态,可以实现应用平滑迁移,与游戏场景中的用户行为分析、广告效果分析、广告推荐、游戏推荐等非常匹配。更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】…

GIS学习(个人学习笔记)(永久修改属性表字段顺序的方法2——access数据库软件修改字段顺序)

当然更推荐直接在GIS中使用合并工具来调整字段顺序或者删除将shp文件导出为数据库文件 使用TableToDBASE表转 dBASE (批量)3.再用office access导入4.将2中生成的dbf文件打开 5.对需要调整顺序的字段进行编辑或者删除

08 Windows批处理之执行编译后的程序

本文是关于一个bat文件执行或调用另一种语言编写和编译的程序。实际上,这样做的语法非常简单。本文最有趣的方面是,有时正在执行的程序在bat文件中没有定义路径。bat文件如何找到可执行文件? 本文的主要重点将放在查找此类程序的两个非常重要的机制上,即当前目录和路径变量…