SGA_MAX_SIZE and AMM

Hi, all,
I've been testing using AMM in our newly-upgraded 11gR2 databases. All databases (Prod and non-Prod) are running 11.2.0.3 on AIX 5.3 (64-bit).
I noticed that despite me explicitly setting the following to 0:
alter system set db_cache_size = 0 scope=spfile;
alter system set log_buffer = 0 scope=spfile;
alter system set pga_aggregate_target = 0 scope=spfile;
alter system set sga_max_size = 0 scope=spfile;
alter system set sga_target = 0 scope=spfile;
alter system set shared_pool_size = 0 scope=spfile;
alter system set shared_pool_reserved_size = 0 scope=spfile;
And allowing Oracle 'full control' how it manages all parts of the memory (SGA and PGA)
-- The 'big' database
alter system set memory_max_target = 24G scope=spfile;
alter system set memory_target = 24G scope=spfile;
-- The 'small' database
alter system set memory_max_target = 3G scope=spfile;
alter system set memory_target = 3G scope=spfile;
I bounce both databases and things seem to come up OK. The only exception is that sga_max_size seems to be set to a specific value:
For the 'big' database, it's 16Gb (2/3rds of the total memory_target)
For the 'small' database, it's 1536Mb (1/2 of the total memory_target)
I don't really understand why this is happening. I've double-checked my SPFILE, I've queried v$spparameter and I've read MOS 443746.1
+"If MEMORY_TARGET is set to a non-zero value:+
+If neither is set, they will be auto-tuned without any minimum or default values. We will have a policy of distributing the total memory set by MEMORY_TARGET parameter in a fixed ratio to the the SGA and PGA during initialization. The policy is to give 60% to the SGA and 40% to the PGA at startup."+
BUT I presume that sga_max_size works in the same way that it did when we weren't using AMM - it's the upper limit of the SGA. Not ideal, to be honest, as I can definitely see times when the SGA needs a LOT of buffer cache in Production (and, therefore, lots of SGA)
I do see this in the alert.logs whenever I restart the system:
Using parameter settings in server-side spfile /opt/oracle/product/11.2.0.3/db/dbs/spfilebigdb.ora
System parameters with non-default values:
processes                = 600
sessions                 = 928
timed_statistics         = TRUE
resource_limit           = TRUE
event                    = "10262 trace name context forever, level 160000"
sga_max_size             = 16G
So it's suggesting that it's querying the SPFILE and determining that sga_max_size should be set. But I've double-double-checked and that isn't the case.
Now, I know I can get around this by explicitly setting sga_max_size at memory_target. But I was wondering if anyone else had seen this before too?
Mark

Another workaround is to remove the memory components entirely from the SPFILE (instead of having them set to 0, don't have them in the file at all). This seems to also set the sga_max_size to the memory_target - which is expected behaviour given the MOS note.

Similar Messages

  • Difference between SGA_MAX_SIZE and SGA_TARGET

    Difference between SGA_MAX_SIZE and SGA_TARGET

    user8645026 wrote:
    Difference between SGA_MAX_SIZE and SGA_TARGETIs discussed in the database forum, not the forum for which the title is " Community Feedback and Suggestions (Do Not Post Product-Related Questions Here)".
    Is also discussed in the documentation at http://tahiti.oracle.com

  • Issue creating a database: SGA_MAX_SIZE and SGA_TARGET

    Hello:
    While creating a custom database, I am running into issues with the values I specify for SGA_MAX_SIZE and SGA_TARGET.
    The install manual for the product I am creating the database for says that SGA_MAX_SIZE should be >= SGA_TARGET_SIZE. It also wants a minimum of 1Gig for SGA_Target
    The Database Configuration Assistant defaulted to 0.64GB for SGA_TARGET and 0.168 for SGA_MAX_SIZE (This is clearly against the instruction in the installation manual).
    Who is right? Me or the vendor?
    I read some threads that indicate that the vendor may be wrong.
    venki

    Follow the vendor's instructions.
    DBCA has never in its existence made a correct decision yet. It puts all control files and redo logs into one directory.
    It doesn't create multiple members for the log file groups.
    And its memory management is based on a simple algorithm that has nothing to do with any specific reality.
    DBCA is intended for creating a generic database for generic purposes ... and that it does very very well.

  • Increase the SGA_MAX_SIZE and SGA_TARGET parameters

    HI ,
    I am using oracle 10g R2 and windows server 2003 .
    My server is having 8 GB RAM .
    I want to increase the SGA_MAX_SIZE and SGA_TARGET parameters .
    I am using the below command , but getting the error
    SQL> alter system set sga_max_size=2000M scope=spfile ;
    alter system set sga_max_size=2000M scope=spfile
    ERROR at line 1:
    ORA-32001: write to SPFILE requested but no SPFILE specified at startup
    Can someone please help ..

    hi
    connect as sys user and then try...
    first make folder as backup and then copy the old SPFILEorcl to the same folder(backup)
    now you can easily modify the files otherwise you will get error..
    you will find here..
    C:\ORACLE_HOME\database
    SQL>  alter system set sga_max_size=2000M scope=spfile ;
    System altered.OR.
    connect as sys user.
    and do the following...
    1).SQL>create pfile from spfile;
    2).modify the pfile and decrease\increase the size of pools.
    3).shutdown database.
    4). Startup database using created pfile.
    if it start ok then.
    5.) Recreate the Spfile with the created Pfile.
    SQL>create spfile from pfile;sarah

  • Increase SGA_MAX_SIZE and SGA_TARGET

    Hi all,
    I want to increase SGA_MAX_SIZE and SGA_TARGET in 10g. Currently we have
    SQL> sho parameter sga
    NAME TYPE VALUE
    lock_sga boolean FALSE
    pre_page_sga boolean FALSE
    sga_max_size big integer 2384M
    sga_target big integer 2384M
    And we have 16GB RAM in redhat linux 4(32 bit).Oracle 10.2.0.3 DB.
    Because of 32 bit OS, I was not able to increase shmmax more than 4GB.
    In this situation how and how much SGA_MAX_SIZE and SGA_TARGET I can increase?
    Thanks in Advance,
    Sunil

    Hi sunilgln,
    Given the present state of things, you have to take a meassure of how many RAM is used with nothing running but the OS, that will give you the Linux footprint.
    Take note of the amount of physical free memory (using <strong>top</strong> command)
    Later you have to estimate how much swapping are you willing to accept, the SGA you define may be within the ranges of
    FREE MEM*90% and FREE MEM*90+(OS FOOTPRINT*%SWAP MEMORY WILLING TO USE)
    <em>This is a proposal for setting this up, you need to tune and balance load depending on usage.</em>
    Another recommendation, SGA_TARGET is <strong>dynamic</strong>, SGA_MAX_SIZE is not...but you may set SGA_MAX_SIZE to a full allocation and set SGA_TARGET to a percentage that allocation and gradually use it.
    What happens is: the OS will "allocate" a chunk(or chunks) the size given by SGA_MAX_SIZE, but the real usage by the database will be determined by SGA_TARGET.
    Hope this helps you
    Ignacio
    Regards
    http://oracledisect.blogspot.com

  • Sga_max_size and sga_target values

    I have an 11g database on windows with 4GB RAM, I have set the MEMORY_MAX_TARGET and MEMORY_TARGET, what should I do with the pre-existing sga_max_size and sga_target values

    memory_target = sga_target + max(pga_aggregate_target, maximum PGA allocated)
    MEMORY_MAX_TARGET = sum of the SGA and instance PGA sizes.
    For Automatic memory management
    set
    ALTER SYSTEM SET SGA_TARGET = 0;
    ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;
    Note:
    In a text initialization parameter file, if you omit the line for MEMORY_MAX_TARGET and include a value for MEMORY_TARGET, the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET. If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero. After startup, you can then dynamically change MEMORY_TARGET to a nonzero value, provided that it does not exceed the value of MEMORY_MAX_TARGET.
    Note:
    The preceding steps instruct you to set SGA_TARGET and PGA_AGGREGATE_TARGET to zero so that the sizes of the SGA and instance PGA are tuned up and down as required, without restrictions. You can omit the statements that set these parameter values to zero and leave either or both of the values as positive numbers. In this case, the values act as minimum values for the sizes of the SGA or instance PGA.
    Reference

  • SGA_MAX_SIZE and SGA_TARGET

    DBAs,
    can any one tell me in brief how SGA_MAX_SIZE and SGA_TARGET helps to tune the instance?
    i have gone through with vairous link but still confuse.
    Regards,
    BK

    hi BK,
    SGA_MAX_SIZE is the maximum sizeof the shared global area (system global area), and SGA_TARGET is set when you want to use ASSM (automatic shared memory management) which is a 10g feature.
    You are alos adviced to post oracle version and os.. SGA_TARGET when set, then oracle automatically manages the memory and if not set then you have to set SGA_MAX _SIZE and manually set others memory components accordingly and tune them.
    I hope this helps you in a small manner
    Thanks and Regards
    VD

  • Setting sga_max_size and memory_target

    what happens when i set
    sga_max_size = 4500
    memory_target = 5000M
    memory_max_target=5000M
    sga_target=0
    can / will oracle use more than 4.5GB for sga ?
    can pga grow more than 500M ?
    startup;
    ORACLE instance started.
    Total System Global Area 4710043648 bytes
    Fixed Size 2234376 bytes
    Variable Size 3925870584 bytes
    Database Buffers 771751936 bytes
    Redo Buffers 10186752 byt

    user9198889 wrote:
    g777 wrote:
    hi
    DB and OS version would be nice to see...
    look here
    http://www.dba-oracle.com/oracle11g/oracle_11g_memory_target_parameter.htm
    SGA_MAX_SIZE & SGA_TARGET
    linux 5.5
    db 11.2.0.2 rac GI 11.2.0.2thanks for the links,
    "When using AMM (by setting memory_target, and/or sga_target, the values for the “traditional” pool parameters (db_cache_size, shared_pool_size, &c) are not ignored. Rather, they will specify the minimum size that Oracle will always maintain for each sub-area in the SGA.
    so that means PGA wont grow more than 500MB and SGA be set to minimum of 4.5GB?
    actually if you carefully read the above comment it doesnt mentiond sga_max_size it only says traditional pools such as db_cache_size etc...
    does this also include sga_max_size?
    I had a look at the other link to a thread but the question is slightly diffrent, they are discussing relation of sga_target to memory_target, I am intrested to know about sga_nax_size inrelation to memory_target

  • 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

  • Buffer Qua is 60 % , incre the sga_max_size and db_cache_size on wht basis

    Dear All,
                        In our XI Production system, data buffer quality is 60%, as i found out that sga_max_size(1.1 GB) and db_cache_size(570 MB) not set as per the standard, and also they are less when compared with development(8 GB RAM).
                                                 Our RAM size in PRD is 10 GB,and when i see in topas 90% of RAM is filled, if we increase these parameter by 1GB, i think System's overall  perform will be effected as the total RAM will be filled. Please suggest me how to solve the problem and on what basis these parameters should be set(what percent of RAM).
    OS : AIX 5.3
    SAP XI 7.00
    DB : Oracle
    Please inform whether i have to include any other info
    Regards,
    Balaji Vedagiri

    a) Why was it changed to less than default? Was the purpose to give memory to Java stacks?
    Ans: These parameters are set long back
    tell me how much RAM memory does the ABAP+JAVA stack occupy(minimum), as 90% of  RAM  is filled now.
    b) Is there a performance issue now, XI is not a database heavy applicaton? If not why bother?
    Ans:  Currently there are not performance issues, but in EWA report it is RED and my customer wants it to increase the quality to atleast by 90%.
    c) Why not change it back to default or to the same as QA?
    Ans: As my analysis we need to increae the parameters by 1GB both means, the remaining RAM(1GB) will be filled means, my total RAM will filled this will lead to overall performance problem.
    Regards
    Balaji Vedagiri

  • 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)

  • SGA_MAX_SIZE and shmmax values

    All,
    My environment is
    Oralce - 10.2.0.4.0
    Two node RAC environment
    Red hat Enterprise Linux 5 64 bit operating system
    RAM size - 64 GB
    shmmax - 4294967295 (one byte less than 4 GB)
    SGA_MAX_SIZE = 3808M
    SGA_TARGET = 3808M
    PGA_AGGREGATE_TARGET=1000M
    When I run the ADDM, it is telling that SGA was inadequately sized, increase the sga_target to 4760M. It says that 33% impact.
    In my case, I need to increase SGA_MAX_SIZE.
    I may be wrong, but from google, i assume that SGA_MAX_ZIZE can't be more than shmmax. Is it true?
    If I have to increase the shmax, is it fine to increase to 5 GB based on ADDM recommendataion. Are there any harm to increase the shmmax to 20GB are so for safer side?
    Any relation beween shmmax and RAM size?
    If I have to alter the SGA_MAX_SIZE in RAC, I need to bounce the database or i can do one instance at a time right. If I am going with one node at a time, since it is a production, what will happen to the connections in that node when i am restarting that particular instance? I have a TAF policy of "Basic".
    is it like all the select statements will be moved to survival node whereas insert, update and delete transactions will be broken?
    Awaiting your help..

    Always it is recommended to keep "shmmax" half the size of physical memory.
    First you need to increase shmmax and then increase the SGA_MAX_SIZE as per ADDM.
    See the below doc for all your answers answers.
    http://download.oracle.com/docs/cd/B19306_01/install.102/b15668/toc.htm#BGBDFIGF
    Hope this solves your issue.
    Regards,
    Satishbabu Gunukula
    hthttp://www.oracleracexpert.com
    Click here for solution - [ORA-19755 Error during recovery/DB startup|http://www.oracleracexpert.com/2009/09/ora-19755-could-not-open-change.html]
    Click here to learn [Block corruption and recovery|http://www.oracleracexpert.com/2009/08/block-corruption-and-recovery.html]
    Click here to learn [Transportable tablespace export and import |http://www.oracleracexpert.com/2009/09/transportable-tablespace-export-and.html]
    Edited by: Satishbabu Gunukula on Sep 23, 2009 2:43 PM

  • SGA_MAX_SIZE and swap

    Hello,
    When I read Doc 778777.1, I found it said: "On most OSs(except solaris) if you specify SGA_MAX_SIZE, then the complete size of SGA_MAX_SIZE is reserved from Swap at instance startup, not from physical RAM." I want to konw why SGA_MAX_SIZE is reserved from Swap? I always thought it was reserved from physical RAM.
    Thanks.

    Even I am not much clear so could be wrong ;) [See note 761960.1 also]
    What i can make out from above 2 notes is that Oracle doesn't want to waste physical memory for additional memory requirement above SGA_TARGET (ie SGA_MAX_SIZE - SGA_TARGET).

  • SGA_MAX_SIZE and SGA_TARGET how to set minimum for pools

    Hello, we are on 10.2.0.4, Solaris 5.10. We are using ASMM, so SGA_TARGET and SGA_TARGET size are set. Hence, buffer cache, shared pool, large pool and java pool are automatically sized. However, we do not have any minimum values for those. How do I determine what this minimum value should be?
    thank you!

    HI,
    Yes you need size the minimum value for shared pool, buffer cahce tec... else it will start consuming wholeThe documentaion
    states:
    You need not set the size of any of these components explicitly. By default the parameters for these components will appear to have values of zero. Whenever a component needs memory, it can request that it be transferred from another component by way of the internal automatic tuning mechanism. This transfer of memory occurs transparently, without user intervention.Can you please explain how would it start consuming the entire SGA?

  • 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

Maybe you are looking for