您在这里:首页 > 学员专区 > 技术文章
Oracle视频
Oracle
CUUG课程

锁定(lock)概述

 

锁定(lock)用来控制多个用户对表里相同数据的并行访问。如下表中的示例。

 

如果没有使用锁定来管理事务,则在9:04的时候,用户A检索id为1的c1列值时,将显示为20,用户A会发现他所做的更新丢失了,实际是被B所做的更新覆盖 掉了。

当我们引入锁定以后,则情况发生了变化,如下表所示。由于使用了锁定来管理事务的并发性,因此用户A在9:04时,检索c1列的值,将显示他所更新的10。

 

 

在锁定中,存在以下两种基本的模式。

(1)排他锁(Exclusive,简称X锁):一旦用户对某个资源添加了X锁,则其他用户都不能再对该资源添加任何类型的锁,直到该用户释放了资源上的X锁为止。

(2)共享锁(Share,简称S锁):一旦用户对某个资源添加了S锁,则其他用户都不能在该资源上添加X锁,只能添加S锁,直到该用户释放了资源上的S锁为止。

根据被保护的对象种类的不同,锁定可以分成多种类型,比如由于DDL引起的锁定、DML事务引起的锁定、分布式事务中涉及的锁定等。我们主要应该关注DML 事务引起的锁定。

(文章来自网络,如有侵权请来信告知,本站将在第一时间删除。)

相关文章 [上一篇] 闩锁(latch)概述
010-88589926(88587026)
CUUG热门培训课程
Oracle DBA就业培训
CUUG名师
网络课程
技术沙龙
最新动态

总机:(010)-88589926,88589826,88587026 QQ讨论群:243729577 182441349 邮箱:cuug_bj@cuug.com
通信地址:北京市海淀区紫竹院路98号北京化工大学科技园609室(CUUG)邮政编码:100089 
中国UNIX用户协会 Copyright 2010  ALL Rights Reserved 北京神脑资讯技术有限公司
京ICP备11008061号  京公网安备110108006275号