我现在有个疑问既然 操作oracle的时候 表会自动为当前的事务上锁 等事物结束了 锁自动放开 那为什么还会产生死锁 ??????????不明白

解决方案 »

  1.   

    死锁:当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就出现死锁。如事务1在表A行记录#3中有一排它锁,并等待事务2在表A中记录#4 中排它锁的释放,而事务2在表A记录行#4中有一排它锁,并等待事务 1在表A中记录#3中排它锁的释放,事务1与事务2彼此等待,因此就造 成了死锁。死锁一般是因拙劣的事务设计而产生.简单地说,我在等释放,你也在等我释放,而你和我都需要得到对方的锁方可结束各自事务.哈哈,还是很绕口,自己体会去.
      

  2.   

    〈〈Oracle 9i 10g编程艺术:深入数据库体系结构〉〉看这本书有关锁的章节吧
      

  3.   

    oracle中的死锁比较特殊:)其实只是一个称法而已.是的,按照楼上的看看tom的书吧