当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
Oracle认证考试辅导:oracle表级锁
发布时间:2010/3/31 18:16:51 来源:城市学习网 编辑:admin

  oracle表级锁
  table lock mode的分类
  table lock mode的分类为5种:
  s, x, rx, rs, srx
  s:share;
  x;exclusive;

  r:row.
  ROW SHARE 行共享,允许其他用户同时更新其他行,允许其他用户同时加共享锁,不允许有独占(排他性质)的锁
  ROW EXCLUSIVE 行排他,允许其他用户同时更新其他行,只允许其他用户同时加行共享锁或者行排他锁
  SHARE 共享,不允许其他用户同时更新任何行,只允许其他用户同时加共享锁或者行共享锁
  SHARE ROW EXCLUSIVE 共享行排他,允许其他用户同时更新其他行,只允许其他用户同时加行共享锁
  EXCLUSIVE 排他,其他用户禁止更新任何行,禁止其他用户同时加任何锁
  总结:名称中带ROW的锁的共性是允许其他用户同时更新不同行,
  根据是否允许其他用户同时加锁的种类不同而分不同类型
  如果不希望别的session lock/insert/update/delete表中任意一行,只允许查询,
  可以用lock table table_name in exclusive mode。(X)这个锁定模式级别最高,并发度最小。
  如果允许别的session查询或用select for update锁定记录,不允许insert/update/delete,
  可以用lock table table_name in share row exclusive mode。(SRX)
  如果允许别的session查询或select for update以及lock table table_name in share mode,
  只是不允许insert/update/delete,可以用lock table table_name in share mode。
  (share mode和share row exclusive mode的区别在于一个是非抢占式的而另一个是抢占式的。
  进入share row exclusive mode后其他session不能阻止你insert/update/delete,
  而进入share mode后其他session也同样可以进入share mode,进而阻止你对表的修改。(S)
  还有两种锁定模式,row share(RS)和row exclusive(RX)。他们允许的并发操作更多,
  一般直接用DML语句自动获得,而不用lock语句。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved