分类: Oracle
2014-06-28 10:25:52
Lock:
1.来源于业务也消失于业务,基本上是由于业务流程安排的不合理产生的,是一种保护业务的锁。
2.还来源于并发,俗话说没有并发就没有lock,当大量会话都要去争强一个修改权时,我们需要的是一种有序的,排队的方式来获得访问权限。这就好比大家在坐公车的时候,排队上车排队下车,谁也不能够拥挤。
3.独占资源,为什么这么说,家里的锁、银行保险箱都是为了保护贵重物品而存在,的锁也一样,当我在修改一条记录的时候就相当于我自己独占了,别人要等我修改完毕后才能获取,这就是锁的特性。
4.保证读一致性,什么是读一致性,简单的通俗的说,同一时间大家看到的数据都是一样的,这么说大家好理解一些,实际要比这个复杂哦。这样的好处大家能够感受到对数据变化是统一的,避免了数据不对称造成的误解。举个例子 当你看超女演唱会的时候需要先购票,你要和她一起看这时候就需要买2张票,当你在买票的过程中,售票员需要先把2张票锁定(不管真买假买)否则在你拿钞票的过程中别人给抢购了,此时女朋友就会把今天变成你的世界末日这样不太好吧!保证看到的和实际的要一致,这就是一致性的来源。
5.维护事务完整性,这又从事务的角度来探讨lock了,大家都知道关系型就是为事务而生的,只有在关系型中才有事务这个概念。什么是事务的完整,就是没有提交的事务对他人是不可见的,例如 我修改一条记录,这条记录是在数据块中真真切切的修改了,但没有提交,此时别人是不可见的,别人要想查询只能从undo段中找记录前快照来查询。事物完整性是数据安全的守护神。
6.锁的信息是数据块上的一个属性是物理的,并不是逻辑上属于某个表或某几行的。
文章参考: