2008年09月17日 14:37:02
数据库-锁
|
l 行共享锁定:一般通过select for update语句隐式获得行共享锁定,在oracle中你也可以通过lock table in row share mode语句显式获得行共享锁定。行共享锁定并不防止对数据行进行更改的操作,但是可以防止其它会话获取独占性数据表锁定。允许进行多个并发的行共享和行独占性锁定,还允许进行数据表的共享或者采用共享行独占锁定; l 行独占锁定:通过一条insert、update或delete语句隐式获取,或者通过一条lock table in row exclusive mode语句显式获取。这个锁定可以防止其它会话获取一个共享锁定、共享行独占锁定或独占锁定; l 表共享锁定:通过lock table in share mode语句显式获得。这种锁定可以防止其它会话获取行独占锁定(insert、update或delete),或者防止其它表共享行独占锁定或表独占锁定,它允许在表中拥有多个行共享和表共享锁定。该锁定可以让会话具有对表事务级一致性访问,因为其它会话在你提交或者回溯该事务并释放对该表的锁定之前不能更改这个被锁定的表; l 表共享行独占:通过lock table in share row exclusive mode语句显式获得。这种锁定可以防止其它会话获取一个表共享、行独占或者表独占锁定,它允许其它行共享锁定。这种锁定类似于表共享锁定,只是一次只能对一个表放置一个表共享行独占锁定。如果a会话拥有该锁定,则b会话可以执行select for update操作,但如果b会话试图更新选择的行,则需要等待; l 表独占:通过lock table in exclusive mode显式获得。这个锁定防止其它会话对该表的任何其它锁定。 http://www.4studio.cn/www/51/2008-04/2672.html Tags:
数据库锁
|
||||||||||||||||||||||||||||||||||||||||||
一共有 0 条评论