知识大全 我对ORACLE数据锁的一点体会
Posted 结构
篇首语:相逢意气为君饮,系马高楼垂柳边。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 我对ORACLE数据锁的一点体会相关的知识,希望对你有一定的参考价值。
我对ORACLE数据锁的一点体会 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
我对文章中意向锁的理解 就是 对表的记录进行操作之前 先对表定义(包括表结构 约束等)加了共享锁 这是为了避免对表的DDL操作
比如 当你往TAB 插入一条记录时 该表的一个字段COL 是允许为空的 插入这条记录的该字段的值是空的 此时 若不对该表定义加共享锁 则另外一SESSION对TAB COL 加非空约束 那该表结构修改就与插入的记录发生冲突了 所以 当执行DML操作是 必定对操作的表加DDL共享锁
这是我理解的意向锁
文章中提及 记录行是无共享锁 我对此观点表示不同 当插入/修改子表时 对应的父表的主键记录应该被加共享锁 因为此时要保证父键的存在 经测试 当插入/修改/删除子表时 父表确实被加了SS锁 此时可以对父表的主键做插入动作 但不允许做修改/删除 这符合逻辑 因为插入操作并不影响主外键的关系 但删除/修改则可能
SHARE VS ROW SHARE有什么区别?
我猜想 ROW SHARE是(级别= )对表加表定义共享锁 SHARE(级别= )是对表定义及表 所有 的记录加共享锁 但这样就有问题 SELECT FOR UPDATE产生TM= 对查询出来的记录产生TX= 的锁 那这样应该与 表 所有 的记录加共享锁 相冲突了?但实际并不是 实际上 当对表加SHARE锁时 还是可以对该表执行 SELECT FOR UPDATE 但却不可以执行DML操作!
现我只能这样理解 虽然产生了TX= 的事务锁 但实际上 还并没有真正修改记录 和真正的INSERT UPDATE DELETE 操作还是有区别的 也就是 SELECT FOR UPDATE这个锁有点特别 对加了共享锁的记录 还可以SELECT FOR UPDATE 但若想执行DML语句 则不可以 因为该表的 所有 记录都加了共享锁
若照第 点的理解 那SRX就是对表加共享锁 对表的所有记录加排它锁 这是我的猜测 不知道在什么地方会使用上这种锁
总结 查看了ORACLE的文档 其并不解释如何定义的各级别的锁 为什么会这样定义 理由 用途何在?现在我想使用各类型锁 来对ORACLE锁的各级别定义说明
无
NULL 可以某些情况下 如分布式数据库的查询会产生此锁
SS 表结构共享锁
SX 表结构共享锁+被操作的记录的排它锁
S 表结构共享锁+所有记录共享锁
SRX 表结构共享锁+所有记录排它锁
X 表结构排它锁+所有记录排它锁
cha138/Article/program/Oracle/201311/18652相关参考
Oracle数据库查找被锁以及解锁的解决办法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! or
今天参考了一些文档作了以下一点实验记录了整个过程留个记录吧 一插入时锁的情况 打开一个命令行窗口用sqlplus登陆到oracle c[oracle@qatest~]$sqlplusfort
目前经历过两次群面美孚和DTTDTT的结果是进入par面,美孚通过进入一面照理说板上有许多经历过多次群面的大牛,比如色色和其他几位网友也论述了不少应该轮不到我再出来唠叨不过觉得还是写一些心得可能会对大
Java开发中使用Oracle数据库的一点提醒 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很
Oracle数据库中事物与回滚的一点研究 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Ora
学习Oracle数据库的心得体会 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!学习数据库对我来说是
Oracle锁的运行机制原理的描述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以下的文章抓哟
查找Oracle用户锁的DLLSQL 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 查找Orac
解析Oracle多粒度锁的验证步骤 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 创建测试表
去年年底做了不少系统的数据迁移大部分系统由于平台和版本的原因做的是逻辑迁移少部分做的是物理迁移有一些心得体会与大家分享 首先说说迁移流程在迁移之前写好方案特别是实施的方案步骤一定要写清楚然后进行