认识Oracle事务锁机制(oracletx锁)
Oracle事务锁机制是一种在一定程度上确保有效数据访问的控制机制,它是指ORACLE数据库在处理事务时,它会为资源分配一种叫事务锁的标记,主要用于防止多次访问统一资源而发生写、读冲突。
Oracle事务锁有读事务锁(Read Lock)和写事务锁(Write Lock)两种。
1、读事务锁:当用户读取资源时锁定一个资源,使资源进入共享模式,其它用户也可以访问但是不会获取到写的权限。
读的SQL语句:SELECT… FOR UPDATE
2、写事务锁:写事务锁使资源进入独占模式,其它用户也不可以访问该资源,直到事务结束,会释放这种锁,此时其它用户才可以访问。
写的SQL语句:INSERT、UPDATE、DELETE
当不同用户在访问同一个资源的时候,锁机制会出现的一些问题:
1、死锁:A用户持有A资源,请求B资源,而B用户持有B资源请求A资源,此时A和B的资源持有冲突,就会出现死锁;
2、锁等待:当对数据的访问有所限制,用户需要等待锁的释放;
3、锁超时:用户等待超时会被动超时,就是事务被自动取消!
Oracle事务锁机制是由一组死锁和死锁算法来保证数据一致性和完整性的一种机制,Oracle数据库在执行事务的时候,会为相应的资源分配一种叫事务锁的标记,用于防止多次访问统一资源而发生写、读冲突,是我们处理数据安全性,数据完整性及数据一致性的重要因素!