共享锁与排它锁有什么区别?能否说详细一些,谢谢!!!

解决方案 »

  1.   

    GOOGLE..FYI:
    http://www.itpub.net/viewthread.php?tid=948213
      

  2.   

    如果还想了解更多的就去看ORACLE官方文档。
      

  3.   

    1.共享锁只用于表级,排他锁用于行级。
    2.加了共享锁的对象,可以继续加共享锁,不能再加排他锁。加了排他锁后,不能再加任何锁。
    3.比如一个DML操作,就要对受影响的行加排他锁,这样就不允许再加别的锁,也就是说别的会话不能修改这些行。同时为了避免在做这个DML操作的时候,有别的会话执行DDL,修改表的定义,所以要在表上加共享锁,这样就阻止了DDL的操作。
    4.当执行DDL操作时,就需要在全表上加排他锁。