数据库锁机制

  数据并发会引发不少问题,数据库经过锁机制来解决并发访问的问题,虽然不一样的数据库在实现细节上存在差异,可是原理都差很少,下面介绍一下数据库的锁机制数据库

  按锁定的对象不一样分为表锁定和行锁定,表锁定对整个表进行锁定,行锁定针对特定的行进行锁定,从并发事务锁定的关系上看,能够分为共享锁定和独占锁定,共享锁定会防止独占锁定,容许其余的共享锁定,而独占锁定既防止其余的独占锁定,也防止其余的共享锁定。下面介绍一下oracle的五种锁定:并发

  1 行共享锁定:通常经过select for update 语句隐式得到行共享锁定,在oracle中用户能够经过lock table in row share mode 语句显示得到行共享锁定。行共享锁定并不防止对数据进行更改操做,可是防止其余会话获取独占性数据表锁定。oracle

  2 行独占锁定:经过一条insert,update,delete语句隐式获取,或者经过一条lock table in row exclusive mode 语句显示获取。这个锁定能够防止其余会话获取一个共享锁定,共享行独占锁定或者独占锁定。对象

  3 表共享锁定:经过一条lock table in share mode 语句显示得到,这种锁定能够防止其余会话获取行独占锁定(insert,update,delete),或者防止其余表行独占锁定或者表独占锁定,他容许在表中拥有多个行共享和表共享锁定事务

  4 表共享行独占:经过lock table in share row exclusive mode 语句显示得到,这种锁定能够防止其余会话获取一个表共享锁定,只是一次只能对一个表放置表共享行独占锁定table

  5 表独占:经过lock table in  exclusive mode显示得到,这个苏定防止其余会话对该表的任何其余锁定原理

相关文章
相关标签/搜索