0, 'None ',
1, 'Null ',
2, 'Row-S(SS) ',
3, 'Row-X(SX) ',
4, ‘Share(S)’,
5, 'S/Row-X (SSX) ',
6, 'Exclusive(X) ',


0:none

1:null 空
1级锁有:Select。

2:Row-S 行共享(RS):共享表锁,sub share
2级锁有:Select for update,Lock For Update,Lock Row Share
select for update当对话使用for update子串打开一个游标时,所有返回集中的数据行都将处于行级(Row-X)独占式锁定,其他对象只能查询这些数据行,不能进行update、delete或select for update操作。

3:Row-X 行独占(RX):用于行的修改,sub exclusive
3级锁有:Insert, Update, Delete, Lock Row Exclusive
没有commit之前插入同样的一条记录会没有反应, 因为后一个3的锁会一直等待上一个3的锁, 我们必须释放掉上一个才能继续工作。

4:Share 共享锁(S):阻止其他DML操作,share
4级锁有:Create Index, Lock Share
locked_mode为2,3,4不影响DML(insert,delete,update,select)操作, 但DDL(alter,drop等)操作会提示ora-00054错误。
00054, 00000, “resource busy and acquire with NOWAIT specified”
// *Cause: Resource interested is busy.
// *Action: Retry if necessary.

5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive
5级锁有:Lock Share Row Exclusive
具体来讲有主外键约束时update / delete … ; 可能会产生4,5的锁。

6:exclusive 独占(X):独立访问使用,exclusive
6级锁有:Alter table, Drop table, Drop Index, Truncate table, Lock Exclusive

参考
https://docs.oracle.com/database/121/CNCPT/consist.htm#CNCPT1342

oracle 数据库锁 lock mode 的几种类型相关推荐

  1. Oracle数据库锁的种类及研究

    数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性. 在数据库中有两 ...

  2. 介绍了Oracle数据库锁的种类及研究

    http://www.dedecms.com/web-art/shujuku/Oracle/20061008/37324.html 介绍了Oracle数据库锁的种类及研究 来源:ZDNET 作者:佚名 ...

  3. Oracle数据库日期范围查询的两种实现方式

    Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来我们通过一个实例来介绍这一过程.我们假设要查询2011-05-02到2011-05-30之间的数据,实现方式如下 ...

  4. oracle数据库按日期查询,关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解...

    关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解 Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来我们通过一个实例来介绍这一过程.我们假设 ...

  5. oracle事务数统计,【学习笔记】Oracle数据库收集统计信息的两种方法介绍案例

    天萃荷净 分享一篇关于Oracle数据库收集统计信息的办法,Oracle DBMS_STATS与Oracle analyze使用方法案例 今天群里面讨论DBMS_STATS和analyze,这里进行了 ...

  6. oracle degree 造成阻塞_数据库锁/阻塞分析的一种常用方法

    对于一些中小用户来说,日常遇到的最多的问题不外乎表空间与锁的分析.数据库表空间使用率/空间使用率分析似乎很简单,是一条SQL就能搞定的事情,实际上并不简单,这个话题容以后找时间阐述.今天就重点分析下另 ...

  7. java+oracle数据库锁,数据库学习之Oracle数据库\记录被另一个用户锁住\解决方法...

    1.先来看看为什么会出锁住: 数据库是一个多用户使用的共享资源.当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数 ...

  8. oracle数据库备份方法主要有哪几种,Oracle数据库备份方法有哪三种?

    Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据库.使用O ...

  9. oracle自增的两种办法,ORACLE数据库实现自增的两种方式

    Mysql数据库因为其有自动+1,故一般我们不需要花费太多时间,直接用关键字auto_increment即可,但是Oracle不行,它没有自动增长机制.顾我们需要自己去实现.一般有两种方式,但是这两种 ...

最新文章

  1. Docker Buildx插件
  2. SAP PP CS01使用ECR去创建BOM主数据,报错:System status: ECR is not yet approved.
  3. 图片上传之FileAPI与NodeJs
  4. leetcode 169. Majority Element
  5. bat、sh等批处理文件(脚本文件)
  6. C++中#if,#ifdef,ifndef
  7. setdiff--求两个集合的差
  8. python调用浏览器全屏_javascript、js将页面全屏的方法(兼容多浏览器)
  9. ajax用post方法,jquery中get,post和ajax方法的使用小结
  10. java控制面板作用_Java
  11. requestmapping中path与value区别_1、Spring注解之@RequestMapping
  12. Spring boot 学习二:入门
  13. c语言 头文件卫士详解,C 语言条件编译与防止头文件重复
  14. 请给开源软件一个机会:7-zip / PDFCreator / CDex / VirtualDub 等等
  15. 中国历史上最伟大帝王排行榜
  16. doodoo.js配置教程 1
  17. QT下获取汉字拼音首字母
  18. MOEAD原理及Python实现、MOEAD实现、基于分解的多目标进化、 切比雪夫方法-(python完整代码)
  19. 如何看待快码编程这一款中文多平台编程工具
  20. [P3975][TJOI2015]弦论(后缀数组)

热门文章

  1. 单片机实习音乐播放器的源码
  2. 打开word时显示microsoft visual basic运行时错误没有注册类怎么解决?
  3. JavaScript:实现计算二维平面上两点之间的距离算法(附完整源码)
  4. LibreOJ 2060 食物链
  5. 【增长工程学】如何研究数字广告投放策略?(Part1)
  6. 江民杀毒软件移动版升级方法
  7. linux命令之man及ubuntu下man
  8. 逆向看C++ new申请堆对象的构造,析构函数调用
  9. JavaScript——模拟自动饮料机
  10. 求解TSP问题(python)(穷举、最近邻居法、opt-2法、动态规划、插入法)