首页 > 数据库 >oracle锁的机制

oracle锁的机制

时间:2024-09-06 19:24:09浏览次数:6  
标签:事务 -- 数据库 死锁 mode oracle 机制

文章目录


oracle锁的机制

1. 概括

1)说明

锁是一种机制,多个事务同时访问一个数据库对象时,该机制可以实现对并发的控制

2) oracle中锁的类别

1.DDL锁: oracle自动的施加和释放

2.DML锁:事务开始时施加,使用Commit后者Rollback被释放、

3.内部锁: 由oracle自己管理以保护内部数据库结构

3)oracle锁的粒度

1. 行级锁(TX):阻止该行上的DML操作,直到Commit或者Rollback

2. 表级锁(TM):

3. 数据库级锁: eg: 将数据库锁定为只读模式 alter database open read only;

eg: 将数据库设置为限制模式(导入导出数据库时使用):alter system enable restricted session;

2.锁的模式

1)概括
在这里插入图片描述
数字越大,级别越高

lock table student in row share mode;

lock table student in row exclusive mode;  --用于行的修改

lock table student in share mode;   --阻止其他DML操作

lock table student in share row exclusive mode;  --阻止其他事务操作

lock table student in exclusive mode;  --独立访问使用

3.锁查看

SELECT * FROM V$SESSION;--查看会话和锁的信息

SELECT * FROM V$SESSION_WAIT;--查看等待的会话信息

SELECT * FROM V$LOCK;--系统中所有锁

SELECT * FROM V$LOCKED_OBJECT;--系统中DML锁

死锁

1. 说明

1. 当两个用户希望持有对方的资源时就会发生死锁。即两个用户互相等待对方释放资源,oracle认定为产生了死锁,在这种情况下,将以牺牲一个用户作为代价,另一个用户继续执行,牺牲的用户的事务将回滚。
  2. lORA-00060的错误并记录在数据库的日志文件alertSID.log中。同时在user_dump_dest下产生了一个跟踪文件,详细描述死锁的相关信息。

2.死锁产生条件

1. Mutual exclusion(互斥):资源不能被共享,只能由一个进程使用。
  2. Hold and wait(请求并保持):已经得到资源的进程可以再次申请新的资源。
  3. No pre-emption(不可剥夺):已经分配的资源不能从相应的进程中被强制地剥夺。
  4. Circular wait(循环等待条件):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

3.解决死锁冲突

1)执行commit或者rollback结束事务

2)终止会话

4. 事务和死锁预防总结

1. 避免应用不运行长事务。
  2. 经常提交以避免长时间锁定行。
  3. 避免使用LOCK命令锁定表。
  4. 在非高峰期间执行DDL操作,在非高峰期间执行长时间运行的查询或事务。

另外需注意,需监测系统中死锁,调查为什么这些锁正被保持,频率;当死锁发生通过回滚事务rollback或者终止会话来解决它。

持续更此篇章--------->2024年9月6日!!!!!

标签:事务,--,数据库,死锁,mode,oracle,机制
From: https://blog.csdn.net/m0_67929156/article/details/141967426

相关文章

  • Oracle 12.2.0.1.0单实例安装补丁
    ......
  • 进程间通信(IPC):概念、分类与信号机制(2)
    文章目录进程间通信(IPC):概念、分类与信号机制引言IPC的分类信号机制信号周期信号的产生信号的发送信号的接收信号处理示例IPC的其他方法管道通信消息队列共享内存套接字通信服务器端代码客户端代码优点与缺点优点缺点结论进程间通信(IPC):概念、分类与信号机制引言......
  • JAVA反射机制【超详细!!】
    JAVA反射机制反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射就是把java类中的各种成分映射成一个个......
  • YOLOv9改进策略【注意力机制篇】| GAM全局注意力机制: 保留信息以增强通道与空间的相互
    一、本文介绍本文记录的是基于GAM注意力模块的YOLOv9目标检测改进方法研究。GAM注意力模块通过3D排列和重新设计的子模块,能够在通道和空间方面保留信息,避免了先前方法中由于信息减少和维度分离而导致的全局空间-通道交互丢失的问题。本文利用GAM改进YOLOv9,以增强模型的跨维......
  • 从内存层面分析Java 参数传递机制
    在Java中,理解参数传递机制对于编写高效和可维护的代码至关重要。本文将探讨基本数据类型和引用数据类型的参数传递方式,并介绍System.identityHashCode方法及其作用。我们将结合栈帧的概念,通过示例代码来详细解释这些机制。System.identityHashCode的作用System.ident......
  • YOLOv8改进 | 注意力篇 | YOLOv8引入YOLO-Face提出的SEAM注意力机制优化物体遮挡检测
    1. SEAM介绍1.1 摘要:近年来,基于深度学习的人脸检测算法取得了长足的进步。这些算法通常可以分为两类,即像FasterR-CNN这样的两级检测器和像YOLO这样的一级检测器。由于精度和速度之间具有更好的平衡,一级探测器已广泛应用于许多应用中。在本文中,我们提出了一种基于......
  • 【EBS】Oracle EBS数据库中的表空间
      在OracleEBSR12系统中,在安装完毕OracleEBS套件之后,根据OracleEBS的可选数据库模型OATM(OracleApplicationsTablespaceModel),在其后台数据库中一般会自动创建19个表空间,包括:TablespaceNameDescriptionAPPS_TS_ARCHIVE包含已归档的清理相关数据的表空间......
  • PART1-Oracle关系数据结构-数据完整性
    5.数据完整性5.1.数据完整性简介5.1.1.保证数据完整性的技术5.1.2.完整性约束的优势5.2.完整性约束的类型5.2.1.非空完整性约束5.2.2.唯一性约束5.2.3.主键约束5.2.4.外键约束5.2.5.检查约束5.3.完整性约束状态5.3.1.对已修改和现有数据的检查5.3.2.可延......
  • 【优技教育】Oracle 19c OCP 082题库(第14题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(Q14题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com.cn/ocp/082kaoshitiku/38183734957.html第14题:14......
  • 逐行讲解Transformer的代码实现和原理讲解:多头掩码注意力机制
    视频详细讲解(一行一行代码讲解实现过程):逐行讲解Transformer的代码实现和原理讲解:多头掩码注意力机制(1)_哔哩哔哩_bilibili1多头掩码注意力机制总体流程【总体流程图说明】【12个块】【多头掩码注意力机制公式】【计算公式对应的步骤】2向量相似度计算2.1点积向......