SGA_TARGET and SGA_MAX_SIZE?

Dear Professional,
I have been asked by my client, He wants me to install Oracle 11g software in three servers. One server has  16GB another has 32 GB, and another has 64 GB of RAM? What would be the Best swap size? How memory I need to assign to SGA? what will be the SHmax and Shmin, kernal parameter? Please advice..
Thanks
Sagar

The answer is 16GB, for all the machines.
See here for reference:
Oracle Database Quick Installation Guide
Hope that helps,
-Mark

Similar Messages

  • Need Clarification on sga_target and sga_max_size

    HI,
    I need some clarification in SGA_TARGET and SGA_MAX_SIZE.
    I have the parameter like below.
    SGA_MAX_SIZE=10G
    SGA_TARGET=9G
    And I spread the 9G to all components like (DB_CACHE,SHARE_POOL etc.,).
    My doubt, Incase db need the memory more than 9GB, Whether it automatically take the extra 1G from sga_max_size
    or we have to change the sga_target to 10G.

    Unless and untill, we set the sga_taget=10G, The extra 1G(from sga_max_size) is not used.
    Am i correct?No - its wrong. Any change in the value of SGA_TARGET affects only the sizes of the auto-tuned components. If you increases its value then increased memory will be distributed in only among the components controlled. So, yes 1GB will be used, because have sga_max_size=10G. If you decrease the value then reduced memory is taken back by the auto-tuning policy from one or more of the auto-tuned components.
    If SGA_MAX_SIZE is greater than SGA_TARGET, you can increase SGA_TARGET without restarting the instance. Otherwise, you'd need to shutdown and restart the instance if you wanted to increase SGA_TARGET.
    Regards
    Girish Sharma

  • Diffrence Between SGA_TARGET and SGA_MAX_SIZE

    Can Any one explain me what is the diference between
    SGA_TARGET and SGA_MAX_SIZE
    Thanks In Advance.

    sga_max_size -- This parameter sets the hard limit up to which sga_target can dynamically adjust sizes. At database start time, Oracle will allocate sga_max_size in RAM (or set sga_max_size to the sum of the existing pool sizes), so in order not to waste RAM it may be a good idea to have sga_max_size and sga_target at the same value, but there may be times when you want to have the capability to adjust for peak loads. By setting this parameter higher than sga_target, you allow dynamic adjustment of the sga_target parameter.
    sga_target -- This parameter is new in Oracle Database 10g and reflects the total size of memory footprint a SGA can consume. It includes in its boundaries the fixed SGA and other internal allocations, the (redo) log buffers, the shared pool, Java pool, streams pool, buffer cache, keep/recycle caches, and if they are specified, the non-standard block size caches.

  • WHAT WILL BE SGA_TARGET AND SGA_MAX_SIZE VALUE

    HI ALL
    RAM MEMORY 7360
    swap memory 8704 M
    OS--AIX6
    DATABASE SIZE ---50 GB
    WHAT WILL BE SGA_TARGET AND SGA_MAX_SIZE VALUE

    WHAT WILL BEThe values will be whatever you set them to be. OR sga_max_size will be automatically derived from db_cache_size + shared_pool_size + ............
    yes, I know that you are looking for a "thumb-rule" and your question is "_What *should* be ..."_ You might get many answers.
    The right answer is "what is really required based on the database, i/O pattern, concurrency etc
    Hemant K Chitale

  • Advice on sga_target and sga_max_size

    hi,
    a little abt my existing system
    HP UX 11.11 oracle 10.2.0.4 EBS11.5.10
    memory 4GB
    SGA 2 GB
    i will be increasing physical emory to 20GB today
    i need advice on setting sga_target and sga_max_size
    currently my SGA_MAX_SIZE=2GB

    If you are increasing the physical memory then set the SGA_MAX_SIZE to max estimated size based on application usage and keep the SGA_TARGET to whatever value you have currently.
    This helps to increase SGA dynamically (SGA_TARGET) when ever application needs and you no need to shutdown your database.
    It is always advised to keep SGA_MAX_SIZE > SGA_TARGET.
    Hope this helps.
    Regards.
    Satishbabu Gunukula
    http://oracleracexpert.blogspot.com
    [Click here to learn Install and Configure ASM in 10g|http://oracleracexpert.blogspot.com/2009/08/install-and-configure-asmlib-in-10g.html]
    Edited by: Satishbabu Gunukula on Aug 21, 2009 12:20 PM

  • Am I understanding SGA_TARGET and SGA_MAX_SIZE correctly?

    Let's say I set SGA_MAX_SIZE to 1024MB and SGA_TARGET to 512MB.
    As I understand it, this means that the total SGA size will never exceed 1024MB (that's the "hard cap"). Oracle will try to keep things around 512MB, but may burst up to 1024MB as needed.
    Is that correct? Otherwise, I don't see the point of SGA_MAX_SIZE vs. SGA_TARGET.
    BTW...I know MEMORY_TARGET and MEMORY_MAX_TARGET are the new 11g params, but Oracle ships XE with those turned off and the 10g SGA_* params and PGA_AGGREGATE_TARGET set...?

    Hi,
    In Oracle 11g MEMORY_TARGET is for automatic SGA and PGA management.MEMORY_MAX_SIZE is the maximum size to which your MEMORY_TARGET can be allocated.As shown below:
    SQL> show parameter %MEMORY%
    NAME TYPE VALUE
    hi_shared_memory_address integer 0
    memory_max_target big integer 1G
    memory_target big integer 1G
    But,When it comes to managing various other memory component like shared_pool,large_pool,Db_buffer_cache,log_buffer_cache,java_pool we still have to manage SGA_TARGET.
    SQL> show parameter %SGA%
    NAME TYPE VALUE
    lock_sga boolean FALSE
    pre_page_sga boolean FALSE
    sga_max_size big integer 1G
    sga_target big integer 0
    Best regards,
    Rafi.
    http://rafioracledba.blogspot.com/
    Edited by: Rafi (Oracle DBA) on Jun 22, 2011 11:54 PM

  • Sga_target and shared_pool_size

    Hi All,
    I am using 11GR2 on linux box. few days back , we hit the ora-4031 and we reported the issue to MOS, they then suggested to bump up the value of shared_pool_size to 3G, which is currently 1G.
    Here , we are using sga_target and sga_max_size to 30G and also when I checked the current shared pool size, it's shows around 6G.
    Since I am using the Automatic memory memory management along with the shared_pool_size parameter set to 1G. So, Do I really need to bump up the shared_pool_size as per MOS. doesn't this simply
    means that , irrespective of shared_pool_size being set , oracle will ignore this value and size the shared pool according to the load in the database.
    I would really appreciate , if you could offer your expert opinion here.
    SQL>  show parameter sga_
    NAME                                 TYPE                              VALUE
    sga_max_size                         big integer                       30G
    sga_target                           big integer                       30G
    SQL> show parameter shared
    NAME                                 TYPE                              VALUE
    hi_shared_memory_address             integer                           0
    max_shared_servers                   integer
    shared_memory_address                integer                           0
    shared_pool_reserved_size            big integer                       338899763
    shared_pool_size                     big integer                       1G
    shared_server_sessions               integer
    shared_servers                       integer                           0
    SQL> select sum(bytes)/1024/1024 mbytes
                  from v$sgastat where pool = 'shared pool';  2
                  MBYTES
                  6464
    Errors in file /db/prod01/oracle/admin/diag/rdbms/prod01/prod01/trace/prod01_m001_19998.trc:
    ORA-04031: unable to allocate 12312 bytes of shared memory ("shared pool","unknown object","KKSSP^281","kglseshtTable")
    Fri Aug 16 12:49:19 2013
    Process m001 died, see its trace file

    If you are on 11.2(as you have said) , I would recommend that you use AMM only. Also, unsetting the shared pool parameter completely would leave it on the mercy of the AMM and that may go wrong as well. Since you are already hitting 4031, probably the best bet would be to set up a fixed, large sized shared pool as suggested by MOS which, beyond its initial value, would be managed by AMM.
    Just my 2 cents
    Aman....

  • Sga_target_size and sga_max_size

    I noticed our production Oracle Instance sga_target_size configuration might not utilize the host resource very well. The Solaris host has 32G physical memory, it is dedicated host for Oracle Instance, only one instance is running on there, but both SGA_TARGET_SIZE and SGA_MAX_SIZE are configured=2000M which is about 2G.
    I want to increased the SGA_MAX_SIZE and SGA_TARGET_SIZE to 24G so that Oracle can better utilize the memory resource.
    Any advice on this? Anything else I might neglect to check? Thanks in advance!

    Pl post details of OS and database versions.
    >
    I want to increased the SGA_MAX_SIZE and SGA_TARGET_SIZE to 24G so that Oracle can better utilize the memory resource.
    >
    Are there reasons you want to increase SGA ? Are you experiencing any performance issues ? If so, what do AWR / Statspack outputs show ?
    HTH
    Srini

  • SGA_TARGET and LOG_BUFFER

    Hello guys,
    i am a little bit confused about setting sga_target and sizing log_buffer manually.
    At first the documentation:
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams192.htm#sthref792
    The following pools are manually sized components and are not affected by Automatic Shared Memory Management:
    * Log buffer
    * Other buffer caches, such as KEEP, RECYCLE, and other block sizes
    * Fixed SGA and other internal allocations
    Ok.. now my Oracle 10gR2 database:
    - spfile:
    *.log_buffer=1048576
    *.sga_target=3154116608
    Ok now in my opinion, the log_buffer should not be changed by oracle AMM.
    So lets have a look:
    SQL> show parameter log_buffer
    NAME TYPE VALUE
    log_buffer integer 14254080
    SQL> show sga
    Total System Global Area 3154116608 bytes
    Fixed Size 2074600 bytes
    Variable Size 603981848 bytes
    Database Buffers 2533359616 bytes
    Redo Buffers 14700544 bytes
    Oh ok.... why does oracle change my manually sized value log_buffer from 1MB up to 14MB!!! (have a look at the output of show sga!)
    Hmm and now?
    What is right and what is wrong?
    Maybe someone can clear the confusion...
    Thanks and Regards
    Stefan

    Hi Satheesh,
    this forum is amazing :-)
    But... i try to calculate like your information:
    So have a look at my test database:
    SQL> show sga
    Total System Global Area 2097152000 bytes
    Fixed Size 2072576 bytes
    Variable Size 520093696 bytes
    Database Buffers 1560281088 bytes
    Redo Buffers 14704640 bytes
    SQL> show parameter log_buffer
    NAME TYPE VALUE
    log_buffer integer 14258176
    The lgwr.trc shows:
    Maximum redo generation record size = 132096 bytes
    Maximum redo generation change vector size = 124412 bytes
    And the table entry:
    SQL> select name, count(*) from v$latch_children where name='redo allocation' group by name;
    NAME COUNT(*)
    redo allocation 2
    Ok and now 132096 bytes * 2 = 264192 bytes... and not 14704640 bytes like in show sga or parameter log_buffer.
    Regards
    Stefan

  • SGA_TARGET and DB_CACHE_SIZE

    In my oracle 10g database SGA_TARGET has been enabled and DB_CACHE_SIZE also set
    It will take from SGA_TARGET or DB_CACHE_SIZE ?

    Dear user!
    SGA_TARGET and DB_CACHE_SIZE behave like that:
    DB_CACHE_SIZE:
    - Meaning:
    DB_CACHE_SIZE specifies the size of the DEFAULT buffer pool for buffers with the primary block size (the block size defined by the DB_BLOCK_SIZE initialization
    parameter).
    - Defaultvalue:
    If SGA_TARGET is set: If the parameter is not specified, then the default is 0 (internally determined by the Oracle Database). If the parameter is specified, then
    the user-specified value indicates a minimum value for the memory pool.
    If SGA_TARGET is not set, then the default is either 48 MB or 4MB * number of CPUs * granule size, whichever is greater
    SGA_TARGET
    SGA_TARGET specifies the total size of all SGA components. If SGA_TARGET is specified, then the following memory pools are automatically sized:
    * Buffer cache (DB_CACHE_SIZE)
    * Shared pool (SHARED_POOL_SIZE)
    * Large pool (LARGE_POOL_SIZE)
    * Java pool (JAVA_POOL_SIZE)
    * Streams pool (STREAMS_POOL_SIZE)
    If these automatically tuned memory pools are set to non-zero values, then those values are used as minimum levels by Automatic Shared Memory Management. You would set minimum values if an application component needs a minimum amount of memory to function properly.
    The following pools are manually sized components and are not affected by Automatic Shared Memory Management:
    * Log buffer
    * Other buffer caches, such as KEEP, RECYCLE, and other block sizes
    * Fixed SGA and other internal allocations
    The memory allocated to these pools is deducted from the total available for SGA_TARGET when Automatic Shared Memory Management computes the values of the automatically tuned memory pools.
    I hope that these informations will help you to answer you question.
    Yours sincerely
    Florian W.

  • Sga_target  vs  sga_max_size

    Hi,
    I'm using ASMM and sga_target is set to 1000M.
    the sga_max_size parameter should be have the same value as sga_target?
    For example: what's happen if i set sga_max_size to 1200M ?
    Thank's

    Hi,
    I think, that if you set sga_max_size to 1200M and you have SGA_target=1000M, then you could dynamicaly (without restarting instance) increase sga up to 1200M. SGA_MAX_SIZE is only about possibility to increase your sga and oracle DOESN'T allocate whole SGA_MAX_SIZE - it allocate only your sga_target.
    You can test it by decreasing SGA_TARGET by command ALTER SYSTEM SET SGA_TARGET=800M SCOPE=MEMORY; and you can see that memory will be released. You can test it in other direction too - increase sga_target to 1200M and aditional memory will be allocated from free memory.
    Pavel

  • Can 11g autotune sga_target and/or sga_max with just a pfile?

    Hi,
    We are upgrading to 11g on 11i. I've been using an spfile in 9i but current consultant likes only pfiles since autoconfig only supports pfiles, and he likes autoconfig on db tier. Yes it is less of a pain if you want to edit it.
    OK fine, but doesn't using a pfile mean that the database can't auto tune (eg SGA_TARGET or SGA_MAX)? I told him that hey when you create a pfile from spfile and you see those entries with underscore, that's the database telling itself the best previously arrived-at values so that at least the next init.ora won't have to start from scratch.
    I am trying to create that nice pfile with the underscores in it from the currently running 11g instance that has only a pfile... but since I don't have an spgile, i can't create an spfile from a pfile... so I don't know if the database is actually DOING any auto tuning.

    i can't create an spfile from a pfileWHY NOT?
    SQL> CREATE SPFILE='/tmp/newspfile.ora' from pfile;
    http://download.oracle.com/docs/cd/B19306_01/rac.102/b14197/dbinstmgt.htm
    "Oracle RAC uses a traditional PFILE only if an SPFILE does not exist or if you specify PFILE in your STARTUP command. Oracle recommends that you use SPFILE file to simplify administration, maintain parameter setting consistency, and to guarantee parameter setting persistence across database shutdown and startup events. In addition, you can configure RMAN to back up your SPFILE."
    Edited by: sb92075 on Aug 18, 2010 5:23 PM

  • What is SGA_TARGET  And LOCK_SGA?

    Thanks & Regards
    vijay

    >
    So, my question is what will be effect of "alter system flush" if LOCK_SGA is set to TRUE....
    >
    It will do the same thing it always does. See the FLUSH SHARED_POOL Clause
    http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_2013.htm
    >
    The FLUSH SHARED POOL clause lets you clear all data from the shared pool in the system global area (SGA). The shared pool stores
    •Cached data dictionary information and
    •Shared SQL and PL/SQL areas for SQL statements, stored procedures, function, packages, and triggers.
    This statement does not clear shared SQL and PL/SQL areas for items that are currently being executed. You can use this clause regardless of whether your instance has the database dismounted or mounted, open or closed.
    >
    Logically the SGA can be considered one monolithic block of memory; Oracle knows what is in it but to the OS it is opaque. The entire SGA might be in memory or part of the SGA may be in memory and part may have been 'swapped' to disk by the OS.
    In either case the OS does not know and does not care what is in the SGA. If it needs memory for other things it may swap (page) part of large memory segments to disk and then if a 'memory' reference is made to a part that is on disk the OS will load it back into memory and may swap something else out to disk to make room for it.
    LOCK_SGA ensures that all of the SGA is kept in memory and prevents any of it from being swapped to disk.
    Flushing is an Oracle process that flushes the 'contents' of the SGA regardless of where the SGA is physically located. The part in memory and any swapped parts will all be flushed. The flush process does not know, and does not care if all of the SGA is in memory or if part of it is swapped out.
    They are two separate and distinct operations.

  • SGA_MAX_SIZE  and  SGA_TARGET  in Oracle 10G

    We have the following H/W with Solaris 9
    SPARC-IV 16 CPUs
    32GB RAM
    128GB swap
    What is the optimal size of sga_target and sga_max_size that can be configured for a heavy batch processing oracle server. Nothing runs except oracle in the above server.
    We have currently 3GB SGA size , however our heavy queries are very slow.
    We have huge updates on tables with more than 200Millions rows.
    Do we need to have JAVA_POOL if the java stored procedure are NOT used.
    However we are connecting to this database using JDBC also.
    Moreover ASM is enabled in this server.
    You expert suggetions are always welcome.

    That's not a question that can be answered easily. It depends very much on where the time is going. Three main targets:
    Writing the log file - which is largely about use of disks, not memory.
    Reading data - lots of single block reads suggest looking at a bigger cache
    Reading and writing temp because of large sorts/hash joins - pga configuration
    One difficulty with TEMP is that the I/Os are often asynchronous, so a session can do a lot of TEMP I/O without recording much time - which means it can cause a problem elsewhere without suffering a problem itself.
    You didn't mention the pga_aggregate_size - which is an important consideration in 10g and can be more important than the sga sizing in DSS and batch-like processing. Between them, the SGA and PGA_aggregate_target should probably account for a very large fraction of your memory - but (since you are on Solaris) make sure you look into large memory pages and intimate shared memory, otherwise you may need to leave a lot of memory available for the O/S memory management mechanisms.
    As far as the java pool is concerned, check v$sgastat for pools which constantly show free memory, and reclaim any large free volumes.
    Bottom line - if you've got the memory in the box, you might as well use it in the best possible place; but at the moment we don't have enough information to tell us where it would be most useful.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk

  • Relative size of sga_max_size and sga_target to the physical memory

    Dear Experts,
    I have installed oracle 10.2.0.4 on AIX 5.3 with 32 GB of physical memory.
    Let us say other applications on the server consume 10 GB of physical memory.
    Now how should i plan the size of SGA_TARGET and SGA_MAX_SIZE on the same.

    As per Oracle® Database Performance Tuning Guide 10g Release 2 (10.2):
    You must then divide the resulting memory between the SGA and the PGA.
    For OLTP systems, the PGA memory typically accounts for a small fraction of the total memory available (for example, 20%), leaving 80% for the SGA.
    For DSS systems running large, memory-intensive queries, PGA memory can typically use up to 70% of that total (up to 2.2 GB in this example).
    Good initial values for the parameter PGA_AGGREGATE_TARGET might be:
    For OLTP: PGA_AGGREGATE_TARGET = (total_mem * 80%) * 20%
    For DSS: PGA_AGGREGATE_TARGET = (total_mem * 80%) * 50%
    where total_mem is the total amount of physical memory available on the system.
    (http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14211/memory.htm#i49320)

Maybe you are looking for