目前使用的是oracle 10g数据库,数据库在运行一周或几天后,系统出现提示内存不够,无法为oracle数据库分配内存。运行oracle数据库服务器的内存为16G,分配给oracle数据库使用的有14G。
       项目的运行程序同oracle数据库并不在同一台服务器上,程序平时运行时都没有出现过问题,而每次发生以上问题时都是在凌晨3点到3点半之间,这个时段我们的程序的都不在运行。

解决方案 »

  1.   

    “每次发生以上问题时都是在凌晨3点到3点半之间,这个时段我们的程序的都不在运行”好像很有规律啊,是否有什么定时任务没考虑到, 比如crontab里面的任务。
      

  2.   

    一共16GB内存?给oracle分配了14GB?不出问题就怪了.起码也要降到10G来
      

  3.   

    如果您的系统压力大的话,还要降更多.因为pga有可能在一瞬间超出你的给定的目标值而造成系统资源枯竭
      

  4.   

    建议:
     1.降低SGA,PGA降低到3G以内
     2.关闭文件缓存
     3.监控系统资源使用情况,再作出判断
      

  5.   

    内存分个50-60%就差不多哦,用awr看看
      

  6.   

    很明顯就是OS拿不到內存
    降低SGA吧
    留點給OS使用吧