各位大神,我遇到的棘手问题,使用C#客户端访问Oracle做Select 查询时,经常出现卡顿情况,查询数据库未发现有死锁语句!
出现该问题时,往往出现在查询特定的数据项上,比如编号是001的一条数据,当查询这条数据时会卡住,这时查询其他数据都正常,但手工将数据库中数据OO1改成002,再查询时就正常了,就是只要对有问题的记录做部分的内容的修改就可以正常读取,谁知道是怎么回事?

解决方案 »

  1.   

    是不是使用了select ... for update来查询?
      

  2.   

    没有  只是使用查询 未做update
      

  3.   


    那这样吧:1、登录数据库,select distinct sid from v$mystat 获取sid,执行查询,卡住了;
    2、查询v$session(如果是11g以下版本,查询v$session_wait,如果是RAC环境,在v改成gv),主要获取上面查得SID对应行的EVENT字段,另外有几个字段需要注意下:BLOCKING_INSTANCE、BLOCKING_SESSION、SQL_ID等。根据从v$session中获取的信息,再做进一步的诊断