现有二个数据库一个本地ORACLE一个远程ORACLE(WIN)两台机器通过一条2M的DDN数字链路连接,远程ORACLE是WEB的数据库,内网本地ORACLE是存放客户数据,ORACLE与ORACLE用了DBLINK同义词,WEB登录需要去本地的数据库验证其身份,但是程序更新后发现有时反应速度很慢,从程序上看SQL语句跳转到异常处。后来怀疑是这2M的线路的问题但是检查后排除了,然后细查了其SQL语句的写法发现有些地方有不妥之处也修改完成索引也重建了,刚重建后前面WEB查询速度很快以为解决其问题了,但是后来发现有些时候速度很快有些时候速度很慢,在很慢的时候用同样的SQL语句放到ORACLE数据库查询工具中进行查询发现其速度很快零点几秒就完成了,现在不知道有什么办法来查出这个查询速度慢的原因,想请教一下各位高手有什么好点子,谢谢!

解决方案 »

  1.   

    前台程序是WEBLOGIC(JSP)的程序,我在此论坛里看到一个有关ORACLE穿越防火墙的贴子,2M的数字链路两头都有防火墙。谢谢!
      

  2.   

    有很多性能调试工具的,Oracle Enterprise Manager 就可以看出,top SQL 之类的东西了啊
      

  3.   

    数据库和应用服务器之间的带宽太窄会影响性能。而且,你所说的“在很慢的时候用同样的SQL语句放到ORACLE数据库查询工具中进行查询发现其速度很快零点几秒就完成了”是在weblogic端机器上得到的结果吗?
      

  4.   

    是的,是在WEBLOGIC端机器上得到的结果
      

  5.   

    我在论坛上看到许多有关ORACLE穿越防火墙的贴了,在远端ORACLE与本地ORACLE两头都有防火墙,而本地ORACLE数据库的IP地址是通过NAT转换到远端ORACLE所在的同一网段,不知道这对SELECT查询是不是有影响,希望得到高手帮助,谢谢!
      

  6.   

    你的网络还跑别的数据吗?
    一可以用ping命令来测试网络,看看查询慢的时候,ping  的值是多少,快的时候是多少。
      

  7.   

    2M线路上没有实时的数据用PING来测试大包(PING -L 1500)前台查询时PING值一直很正
      

  8.   

    通过很多次的试验在远程WEB服务器上配置了WEBLOGIC上面的ORACLE连接池将Test Reserved Connections与Test Released Connections都使用了,TEST TABLE NAME使用了本地数据库的一张表,应用以后发现通过前台查询全部通过,观察了一个月发现也没有问题,但是后来在本地ORACLE里面发现有很多锁查了一下锁的内容发现都是WEBLOGIC上设置的那个TEST TABLE NAME里面的那个表,不知道这样是不是对于数据库与WEBLOGIC有一定的影响?谢谢!