现在我的数据库是Oracle9i,数据处理相当大,每秒有超过12万条的记录要处理,在刚进行数据处理时很快,但数据处理一段时间后相当慢,CPU占用率达100%不降,我的SGA设置为:Data Pool 400MB, Share Pool 500M, PJ 700,请问这种现象主要原因是什么,如果大家有好的解决办法就告知,服务器是联想R520 2CPU 4GB内存

解决方案 »

  1.   

    每秒有超过12万条,确实很多,你这个问题应该主要是cpu的处理能力不够,另外检查一下你的索引设计
      

  2.   

    这个要根据你的实际情况下具体分析
    或是SQL有待改进
    或是索引没有完善
    也有可能需要添加相应硬件
    ...
      

  3.   

    修改下参数为 Data Pool 700MB, Share Pool 200M   然后在看下命中率
      

  4.   

    给的条件太少, 如oracle 是配置为共享模式? 还是?
    4GB内存, 为什么 data buffer 那么小?
      

  5.   

    看下v$session_wait
    查下alert_<sid>.log
    用OEM查看下buffer hit rate,根据他的曲线调整各个buffer cache和shared pool的大小
    最好做下statspack