我有一个oracle9i数据库。备份文件大约在800M,在实际使用过程中,效率越来越慢。个别的功能效率极为低下。机器内存是2G。
我目前的sga内存:共享池由44M增加到336m,它的利用率从14%逐渐增加到98%,使用时间越长利用率越高。增加后,效果有一点的好转。命中率从87.7%增加到96.7。
db_cache_size 从32M增加到80M,效果有一点的好转。增加到64M就可以了,再增加就没有什么变化。
JAVA池6从20M增加到64m,没有效果。
重做日志缓冲区内存不会调整。目前的值为500kb。
大型池为0。没有用到这个。
pga内存,不会调整。最大的一个用户使用的是5M。用户数大概是在70位左右。
而且我的oracle9i的很多性能调整工具都不能使用。比如,共享池,pga没有advice这个按钮。请教性能高手,我如何和配置这些内存?

解决方案 »

  1.   

    修改initsid.ora里面对应的参数值,然后重新启动数据库
      

  2.   

    SGA:
    重做日志缓冲区 1m
    db_cache_size 数据缓冲,越大越好,建议值为800m
    共享池  360m ,336m也可以了
    重做日志调整:
    把redo文件加大到200m,不知道原来你设置的redo文件为多大,:)
      

  3.   

      楼主是用 PC 机还是用 Server 机呢? 磁盘系统怎样呢? 多少个硬盘呢?
      

  4.   

    db_cache_size 数据缓冲,越大越好,建议值为800m  这个值是怎么得到的?共享池的利用率在92%左右,这个比较合适。是server机,ibm的。
      

  5.   

    不要着急优化,先把问题搞清楚再来优化,做个statspack分析一下吧;
        另外,我认为SGA的几个缓冲池命中率不能作为性能调整的主要证据,优化的关键应该是等待事件。
        一般的说,SGA的调整是最能立杆见影的。
        如果排序操作多的话,PGA大点,让oracle自动管理,给它128M吧;
        如果用户不很多,共享池不用那么大,256M一般足够了,db_cache_size 一般越大越好;写操作不特别多,也不必调整重做日志缓冲区,没有用java的话,java池不必调整;