Sql Oracle数据库文档锁定模式示例
Oracle数据库文档提供了两个事务同时获得显式锁定的示例。我认为这是一个错误,因为即使左一个事务获得了RS锁,右下事务也应该能够获得SRX锁 你的意见是什么?只是想确定这确实是一个错误Sql Oracle数据库文档锁定模式示例,sql,oracle,Sql,Oracle,Oracle数据库文档提供了两个事务同时获得显式锁定的示例。我认为这是一个错误,因为即使左一个事务获得了RS锁,右下事务也应该能够获得SRX锁 你的意见是什么?只是想确定这确实是一个错误 刚刚做了一个测试,你的意见是正确的。结果如下: lock mode | lock name | permit | exclusion --------------|-------------------------------|----------|----
刚刚做了一个测试,你的意见是正确的。结果如下:
lock mode | lock name | permit | exclusion
--------------|-------------------------------|----------|--------------
2 | Row Share | 2,3,4,5 | 6
3 |Row Exclusive Table Lock | 2,3 | 4,5,6
4 | Share Table Lock | 2,4 | 2,5,6
5 |Share Row Exclusive Table Lock | 2 | 3,4,5,6
6 | Exclusive Table Lock | | 2,3,4,5,6
第1场会议:
SQL> LOCK TABLE CENZHGL.LOCK_TEST IN ROW SHARE MODE;
Table(s) locked
第2次会议:
SQL> LOCK TABLE CENZHGL.LOCK_TEST IN EXCLUSIVE MODE NOWAIT;
ORA-00054
SQL> LOCK TABLE CENZHGL.LOCK_TEST IN SHARE ROW EXCLUSIVE MODE NOWAIT;
Table(s) locked
Oracle锁模型互斥关系如下:
lock mode | lock name | permit | exclusion
--------------|-------------------------------|----------|--------------
2 | Row Share | 2,3,4,5 | 6
3 |Row Exclusive Table Lock | 2,3 | 4,5,6
4 | Share Table Lock | 2,4 | 2,5,6
5 |Share Row Exclusive Table Lock | 2 | 3,4,5,6
6 | Exclusive Table Lock | | 2,3,4,5,6