如何避免死锁呢,使用锁的情况貌似很难避免死锁吧。

解决方案 »

  1.   

    两个会话之间有可能会发生死锁,这个时候Oracle、 数据库会在警告日志中出现600号错误。
      

  2.   

    oracle很难出现死锁,一个很重要的原因就是oracle的读写操作不互相阻塞。
    除非业务逻辑非常复杂,一般oracle故障中死锁的故障不超过1%,而出现死锁99%的情况又是外键未加索引。
      

  3.   

    oracle和其它数据库不太一样,出现死锁的机会很小比你中双色球大奖都要少很多,除非人为创造环境....
      

  4.   

    锁有时候难免,但是尽量减少死锁1、首先逻辑上减少锁的概率,统一规划处理流程:
    比如事情a,b 都处理数据T1,T2。那么编程潜意识的在事物中规定,首先处理A,然后处理B
    当然不在一个事物中,根本没有干预的必要
    2、减少锁的范围
    3、 优化索引查询、修改结构等等等等
      

  5.   

    0racle 产生死锁的情况是很少的,如果有会产生跟踪文件里面有死锁语句
      

  6.   

    oracle出现死锁就会自动解决的。而且死锁大部分都是人为造成的。
      

  7.   

    ORACLE有自己处理锁的机制,,,非达人,请千万别自己去手动处理锁的机制...........~~~
    建议,顺其自然,很难发生死锁~