配置:
Linux
4cpu
32G内存
oracel专职小型机服务器无其他多余程序
基本信息:
一、
select * from v$version
结果:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for HPUX: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
二、
select * from v$sga
结果:
Fixed Size 2056504
Variable Size 989859528
Database Buffers 603979776
Redo Buffers 14716928
三、
select name,size_for_estimate,v$db_cache_advice.ESTD_PHYSICAL_READS from v$db_cache_advice  where block_size='8192' and advice_status='ON';
结果:
DEFAULT 48 44524632045
DEFAULT 96 43068398353
DEFAULT 144 41646978043
DEFAULT 192 40247411557
DEFAULT 240 39346298661
DEFAULT 288 38462828824
DEFAULT 336 37595863948
DEFAULT 384 36746223215
DEFAULT 432 36603589930
DEFAULT 480 36465149132
DEFAULT 528 36329350741
DEFAULT 576 36195784229
DEFAULT 624 36073931473
DEFAULT 672 35950684396
DEFAULT 720 35825977448
DEFAULT 768 35699662185
DEFAULT 816 35091155963
DEFAULT 864 34463734266
DEFAULT 912 33798935846
DEFAULT 960 33052666401
四、
select name,value,display_value from v$parameter
结果:
lock_sga               FALSE FALSE
processes                 800 800
sessions                 885 885
open_cursors        300 300
sort_area_size      65536 65536
sort_area_retained_size 0 0
五、
ERP系统OLAP\OLTP均包括。
望各位大侠、大师、大神们给出Oracle内存分配的建设性意见。或是经验之谈。在下不胜感激!

解决方案 »

  1.   

    一般来说
    ORACLE实例内存=物理内存*80%对于OLTP系统:
    PGA=实例内存*20%
    SGA=实例内存*80%对于OLAP系统:
    PGA=实例内存*50%
    SGA=实例内存*50%混合型系统在二者之间
    PGA=实例内存*40%
    SGA=实例内存*60%确定内存容量后,系统初始值可以这样设置
    对于PGA:使用WORKAREA_SIZE_POLICY设置为AUTO,表示PGA自动管理
    用PGA_AGREGGATE_TARGET参数分配PGA用SGA_TARGET参数分配SGA目标值
    用SGA_MAX_SIZE分配SGA最大值当然LOG_BUFFER需要手动设置在系统运行一段时间后,查看
    select * from v$shared_pool_advice;
    select * from v$db_cache_advice;
    select * from v$pga_target_advice;
    来决定合理的值。查看当前sga中动态分配情况
    select * from v$sga_dynamic_components;