情况是这样,一用户买了一台新服务器(Inter(R) Xeon(R) E7520 1.87GHZ 2处理器,32G RAM  64位操作系统(WINDOWS2008和WIN7都有装过)),
原来旧服务器装的是ORACLE 9I(WINDOWS 2003 SERVER), 
现在新服务器装了ORACLE 11G(R1/R2都试过),用IMP方式导入9I的资料
同样在另一台PC机上也装了ORACLE 11G(R1/R2都试过),用IMP方式导入9I的资料应用程式环境:
.NET ADO.NET开发的前端 用System.Data.OracleClient连接Oracle的。
当应用程序比如某一功能进入后,可能会执行一些简单的取数据的SQL,有时可能会有7,8个,但这些SQL返回的都是空记录,或记录不多。
ADO.NET的一些Adapter的fillSchema可能会取表的一些数据字典信息结果发现:
新服务器上要比PC机上慢1倍多,比如新服务器要7秒,PC机只要4秒,旧服务器最快了只要2秒。如果是执行一些大量提取数据和复杂计算的新服务器是要快。检查过新服务器的执行计划等正常,甚至 COST低于PC机和旧服务器,并且由于SQL返回记录为空或很少,也不回占用RAM和CPU资源。现在就不知是何情况,请高手给力。

解决方案 »

  1.   

    服务器的配置对比性能如何,要对比服务器不能用ORACLE来测试,用专业测试服务器的来测试ORACLE的速度慢快和SGA,内存大小有关,把配置参数给出来看看
      

  2.   

    ja说得是要看内存配置,还有windows2008/win7的版本。
      

  3.   

    服务器的性能与具体的安装硬件的配置参数有关系。
    具体的oracle的快慢与本省服务器的物理内存有关系、还和sga、配置参数有关系的。
      

  4.   

    这个我遇到过。应该和服务器的硬盘有关。并行SCSI的速度最快,然后是串行SCSI,下来是SATA,最后是IDE。你可以考虑升级SCSI卡的驱动,如果是SATA的,看看更新服务器主板的驱动。调大Oracle能够使用的内存的大小。