大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 数据库 -> 关于Oracle几种锁管理的汇总

关于Oracle几种锁管理的汇总

时间: 2021-07-31 作者:daque

oracle里锁有以次几种形式:0:none1:null 空2:row-s 行共享(rs):共享表锁,sub share 3:row-x 行独吞(rx):用来行的窜改,sub exclusive 4:share 共享锁(s):遏止其余dml操纵,share5:s/row-x 共享行独吞(srx):遏止其余工作操纵,share/sub exclusive 6:exclusive 独吞(x):独力考察运用,exclusive数字越大锁级别越高, 感化的操纵越多。1级锁有:select,偶尔会在v$locked_object展示。2级锁有:select for update,lock for update,lock row share select for update当对话运用for update子串翻开一个游标时,一切归来会合的数据行都将居于行级(row-x)独吞式锁定,其余东西只能查问那些数据行,不许举行update、delete或select for update操纵。3级锁有:insert, update, delete, lock row exclusive没有commit之前插入同样的一条记载会没有反馈, 由于后一个3的锁会从来等候上一个3的锁, 咱们必需开释掉上一个本领连接处事。4级锁有:create index, lock sharelocked_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级锁有:lock share row exclusive 简直来讲有主外键牵制时update / delete ... ; 大概会爆发4,5的锁。6级锁有:alter table, drop table, drop index, truncate table, lock exclusive以dba脚色, 察看暂时数据库里锁的情景不妨用如次sql语句:col owner for a12col object_name for a16select b.owner,b.object_name,l.session_id,l.locked_modefrom v$locked_object l, dba_objects bwhere b.object_id=l.object_idselect t2.username,t2.sid,t2.serial#,t2.logon_timefrom v$locked_object t1,v$session t2where t1.session_id=t2.sid order by t2.logon_time即使有长久展示的一列,大概是没有开释的锁。咱们不妨用底下sql语句杀掉长久没有开释非平常的锁:alter system kill session 'sid,serial#';即使展示了锁的题目, 某个dml操纵大概等候很久没有反馈。当你沿用的是径直贯穿数据库的办法,也不要用os体例吩咐 $kill process_num 大概 $kill -9 process_num来中断用户贯穿,由于一个用户过程大概爆发一个之上的锁, 杀os过程并不许完全废除锁的题目。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.