中易网

ORACLE里几种锁模式

答案:3  悬赏:70  
解决时间 2021-02-21 03:04
ORACLE里几种锁模式
最佳答案
ORACLE锁具体分为以下几类:

1.按用户与系统划分,可以分为自动锁与显示锁

自动锁:当进行一项数据库操作时,缺省情况下,系统自动为此数据库操作获得所有有必要的

显示锁:某些情况下,需要用户显示的锁定数据库操作要用到的数据,才能使数据库操作执行得更好,显示锁是用户为数据库对象设定的。

2.按锁级别划分,可分为共享锁与排它锁

共享锁:共享锁使一个事务对特定数据库资源进行共享访问——另一事务也可对此资源进行访问或获得相同共享锁。共享锁为事务提供高并发性,但如拙劣的事务设计+共享锁容易造成死锁或数据更新丢失。

排它锁:事务设置排它锁后,该事务单独获得此资源,另一事务不能在此事务提交之前获得相同对象的共享锁或排它锁。

3.按操作划分,可分为DML锁、DDL锁

+DML锁又可以分为,行锁、表锁、死锁

-行锁:当事务执行数据库插入、更新、删除操作时,该事务自动获得操作 表中操作行的排它锁。

-表级锁:当事务获得行锁后,此事务也将自动获得该行的表锁(共享锁),以防止其它事务进行DDL语句影响记录行的更新。事务也可以在进行 过程中获得共享锁或排它锁,只有当事务显示使用LOCK TABLE语 句显示的定义一个排它锁时,事务才会获得表上的排它锁,也可使用
LOCK TABLE显示的定义一个表级的共享锁(LOCK TABLE具体用法请参 考相关文档)。
-死锁:当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就 出现死锁。
如事务1在表A行记录#3中有一排它锁,并等待事务2在表A中记录#4 中排它锁的释放,而事务2在表A记录行#4中有一排它锁,并等待事务 1在表A中记录#3中排它锁的释放,事务1与事务2彼此等待,因此就造 成了死锁。死锁一般是因拙劣的事务设计而产生。
死锁只能使用SQL下:alter system kill session 'sid,serial#';
或者使用相关操作系统kill进程的命令,如UNIX下kill -9 sid,或者 使用其它工具杀掉死锁进程。

+DDL锁又可以分为:排它DDL锁、共享DDL锁、分析锁
-排它DDL锁:创建、修改、删除一个数据库对象的DDL语句获得操作对象的 排它锁。
如使用alter table语句时,为了维护数据的完成性、一致性、
合法性,该事务获得一排它DDL锁。

-共享DDL锁:需在数据库对象之间建立相互依赖关系的DDL语句通常需共享
获得DDL锁。
如创建一个包,该包中的过程与函数引用了不同的数据库表,
当编译此包时,该事务就获得了引用表的共享DDL锁。

-分析锁:ORACLE使用共享池存储分析与优化过的SQL语句及PL/SQL程序,使
运行相同语句的应用速度更快。一个在共享池中缓存的对象获得
它所引用数据库对象的分析锁。分析锁是一种独特的DDL锁类型,
ORACLE使用它追踪共享池对象及它所引用数据库对象之间的依赖 关系。当一个事务修改或删除了共享池持有分析锁的数据库对象
时,ORACLE使共享池中的对象作废,下次在引用这条SQL/PLSQL语 句时,ORACLE重新分析编译此语句。

4.内部闩锁

内部闩锁:这是ORACLE中的一种特殊锁,用于顺序访问内部系统结构。
当事务需向缓冲区写入信息时,为了使用此块内存区域, ORACLE首先必须取得这块内存区域的闩锁,才能向此块内存写入
信息。
全部回答
oracle里锁有以下几种模式: 0:none 1:null 空 2:row-s 行共享(rs):共享表锁 3:row-x 行专用(rx):用于行的修改 4:share 共享锁(s):阻止其他dml操作 5:s/row-x 共享行专用(srx):阻止其他事务操作 6:exclusive 专用(x):独立访问使用
很有用的内容. 1, 2 级别锁都有了 例子.   4:Share 共享锁(S):阻止其他DML操作   5:S/Row-X 共享行专用(SRX):阻止其他事务操作   6:exclusive 专用(X):独立访问使用 不知道 Oracle 有没有表级别的锁. 即,锁住整个数据表. ----------------- 测试过一些数据库, 发现 SQL Server 的锁模式和 Oracle是不同的. 从 Transaction Isolation Level (事务隔离级别)的表现可以看出来. Oracle 比较喜欢 Copy On Write (version control, 乐观锁). SQL Server 比较喜欢 Exclusive Access (悲观锁). 好象是这样.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
刘亦菲到底是86年还是87年出生的?
电水壶电源底座不用时需拔掉吗
关于地球一小时的英语作文
基佬紫是谁? 动漫
呼和浩特白塔空港物流园区筹备处怎么去啊,有
乙炔气瓶瓶体是否应该套减震圈
英语情景短剧剧本
林动的石符里的老人那一章
用含有英和明两个字取个网名
为啥我的眼皮一个单一个双,怎么样调整
家乡工作和城市工作的区别100词英语作文
交通安全设施工程竣工验收包括哪些工作
淄川区村民事务代办中心地址在哪,我要去那里
印埃瑜伽舞蹈培训地址在哪,我要去那里办事
每年报新乡医学院三全学院 检验专业 的学生多
推荐资讯
主持人李曈曈出生时间
调情时男人流出水是什么
同型号2个CPU为什么在同一张主板只能识别其中
桂众龙虾馆这个地址在什么地方,我要处理点事
剑网三五毒跟宠好看吗
心有相随,梦不待醒的意思
3万元半年不用,适合买什么理财产品
为什么要这样带孩子去旅行,创卫小达人亲子作
如何开发大客户,怎么开发大客户
标准白光的三刺激值
马鞍山景澜广场酒店地址在什么地方,想过去办
驼山滑雪场站自行车租赁点怎么去啊,有知道地
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?