1、问题是这样的,应用打开页面调出的数据不正确,plsql  连接数据库查询的结果是正确的。
环境为weblogic +oracle (RAC集群两节点)
2、详细描述以及做过的分析
(1)生产环境发现应用前台打开一个页面空白的,没数据返回(正常的应该是有数据返回的,开发也看过程序,是通过一条sql语句,执行返回几行然后整合显示出来的)
(2)提取程序里面的这条语句,几个变量写进去,PLSQL 查询,显示的是正确的数据,PLSQL执行显示6条。
(3)检查weblogic 日志,查看这条sql 的执行日志,发现返回的才1条。(这应该就是问题所在,weblogic执行语句返回的数据量和PLSQL 返回的不一致)
(4)本来怀疑脏读,但是这问题好多天了, 期间 重启过应用,表也没锁,而且沟通过前台操作人员,确认plsql 查询的结果是正确的,应用显示的不正确。
(5)开过sql trac 看过也没神马问题。
求大神们支招 怎么排查谢谢大家了。

解决方案 »

  1.   

    是否程序在运行时有delete等业务操作,所以你操作PLSQL有数据,程序跑没数据。还需检查程序代码
      

  2.   

    不懂weblogic ,
    查下条件是否正确?和程序中的相比那些变量是否都用到?
      

  3.   

    条件是正确的, sql trac 里面的变量调用 也是正确的,  
      

  4.   

    是不是weblogic配置有问题,是否配置了集群,或者配到其他库上去了。还有是否有配F5等负载的东西
      

  5.   


    我觉得问题没那么复杂。
    把sql直接打印出来,如果存在变量,连同变量一起print出来
      

  6.   


    我觉得问题没那么复杂。
    把sql直接打印出来,如果存在变量,连同变量一起print出来
    打印 是什么意思? 我看sql trac 就是 语句 和变量都有的。。 关键是拿同样的语句, 变量写到 语句里面。 plsql 执行的结果竟然不一致~!
      

  7.   


    我觉得问题没那么复杂。
    把sql直接打印出来,如果存在变量,连同变量一起print出来
    打印 是什么意思? 我看sql trac 就是 语句 和变量都有的。。 关键是拿同样的语句, 变量写到 语句里面。 plsql 执行的结果竟然不一致~!找开发人员,生成开发的log,或者强制在有问题的地方 print出来