lock and latch

lock and latch
lock是一种queue机制,防止多个process同时修改一个object,运用了排队机制,所有请求按请求先后排序。最常见就是tx,tm lock.ITPUB个人空间u)
 
latch是一种保护oracle内部数据结构的机制,防止内存结构同时被多个process修改,它的存活期很短,而且它不是运用queue机制,一个latch释放然后一堆process上去抢,谁抢到谁就拥有这个latch,通常我们比较熟悉的的latch有library cache latch,cache buffer chain latch...等.


ORACLE锁有以下几种模式:
0:none
1:null 空
2:Row-S 行共享(RS):共享表锁,sub share 
3:Row-X 行独占(RX):用于行的修改,sub exclusive 
4:Share 共享锁(S):阻止其他DML操作,share
5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive 
6:exclusive 独占(X):独立访问使用,exclusive

查看锁: select * from v$locked_object


oracle锁的三种方式;
共享封锁,独占封锁,共享更新封锁

oracle锁的三种类型:
内部级封锁
DDL级封锁(字典/语法分析封锁)
DML锁有如下三种封锁方式:
(1)、共享封锁方式(SHARE)
(2)、独占封锁方式(EXCLUSIVE)
(3)、共享更新封锁(SHARE UPDATE


stats$enqueuestat 表中获得的对oracle调整有关的锁:
Ci(cross-instance lock)交叉实例锁
cu(cusor bind lock)游标绑定锁
jq job queue lock 作业队列锁:提交作业
st space management enqueue lock 空间管理队列锁
tm dml enqueue lock  dml队列锁:这是常规的表锁(update insert delete)
tx transaction lock 事务锁:修改时设置,commit或者rollback的时候结束。排队机制
us user lock ,用户锁:当回话使用dbms_lock.request函数获取锁的时候,会设置这种锁。(可以用来串行化)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14710393/viewspace-751647/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14710393/viewspace-751647/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值