发布时间:2014-06-28 10:36:05
Oracle 锁在我一开始接触的时候会有一种高深莫测的感觉,就像是遥远的外星人看不见摸不着但是能感觉到,我在实际的工作中就遇到过ORA-00054: resource busy acquire with nowait specified错误不能插入表,当时知道是被锁定了,根据V$LOCK也定位出阻塞的会话了,但不知道如何长久的解决它,究其原因就是不清楚内部机制与释放原理,下面根据例子来揭开锁的面纱,走进Oracle锁的世界。......【阅读全文】
发布时间:2014-06-28 10:34:20
模拟RI锁定导致阻塞的场景,并分析v$lock相应的锁定信息,给出SQL演示。......【阅读全文】
发布时间:2014-06-28 10:30:45
6级锁会阻塞除了自己外的所有会话的事务并且排斥其他的所有锁模式连2级锁都不行,是最高限制的TM锁,当然select还是没有问题的。
小结:排他锁,是限制最高的TM锁,禁止其他事务执行任何类型的DML语句或者锁表。一个表一般只能有一个6号锁。文章转载自:无忧IT学习网......【阅读全文】
发布时间:2014-06-28 10:27:30
死锁定义:从广义上讲包括操作系统 应用程序 数据库,如果2个进程(会话)相互持有对方的资源,都一直等待对方释放,这种情况会造成死锁。误解:会话的阻塞可不是死锁,因为其中有一个会话还是可以继续操作的。释放:Oracle会自动检测死锁并强制干预释放LEO1@LEO1> create table p1 ( x int primary key ); &.........【阅读全文】
发布时间:2014-06-28 10:25:52
1.来源于业务也消失于业务,基本上是由于业务流程安排的不合理产生的,是一种保护业务的锁。
2.还来源于并发,俗话说没有并发就没有lock,当大量会话都要去争强一个修改权时,我们需要的是一种有序的,排队的方式来获得访问权限。这就好比大家在坐公车的时候,排队上车排队下车,谁也不能够拥挤。......【阅读全文】