roofwei
roofwei
2015-11-25 14:12

关于Oracle共享锁的问题

  • oracle

对于Oracle表级共享锁,有点想不明白,A锁住表T之后,B可以读T,不能改T,这个功能完全可以只用一个锁的概念(独占锁)就可以实现,为什么还要加一个共享锁的概念呢?
刚做了如下的实验:
会话A在T上加S锁
数据:A可以修改数据,会话B不能修改数据。
结构:A可以修改表结构,会话B不能修改表结构。
锁:会话B可以加S锁,但不能加X锁

会话A给T加X锁
数据:A可以改数据,会话B不能修改数据
结构:A可以改结构,会话B不能改结构
锁:会话B不能加S锁,也不能加X锁。

从上面的实验可以看出,共享锁和独占锁,在表数据和表结构上的功能是完全一样的,请问为什么要在这里把表级锁分成共享锁和独占锁呢?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐

换一换