用oracle 11g表达,我在第一个实例中
LOCK TABLE mytab IN EXCLUSIVE MODE
然后,我打开第二个实例,然后运行
INSERT INTO mytable ...
它挂起,听起来很酷, 但是一个简单的“SELECT * from mytable ...”不会!?
为什么? 使用SELECT“挂到”的正确方法是什么?
**更新** 好的,我已经看过了 Exclusive table (read) lock on Oracle 10g?
所以,我的案子是“丢失”:)?
答案 0 :(得分:3)
这是正常的......
在Oracle文档中,在EXCLUSIVE MODE上,您可以阅读
EXCLUSIVE允许对锁定表进行查询但禁止任何其他查询 它的活动。
答案 1 :(得分:0)
一旦你在一个单独的会话中放置了表锁,如果你想在select上被阻止,你可以做select ... for update
,这将被阻止(它将等到锁被释放)你也可以做一个select ... for update nowait
,如果它无法获得锁定,它会立即回来,而不是等待