Oracle 11g AMM (Automatic Memory Management)

Hi All,
I have a very powerful server 24 Processors with 6 cores each and 74 GB RAM for my production database. The server will host only one production database. I wanted to use AMM for this database and allocate maximum memory to Oracle by setting memory_target. By default /dev/shm is set 37 GB but I wanted to increase it least 55 GB. I know I can get this changed by my system admin but I wanted to know how much memory should leave for OS?
Please help me on sizing this.
Thanks,
Arun Singh

From MOS ID 169706.1
Automatic Memory Management
Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm) and file descriptors. The shared memory should be sized to be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. To determine the amount of shared memory available, enter the following command: # df -k /dev/shm/
Note: MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with huge pages on Linux

Similar Messages

  • ORACLE 11g AMM

    Hellow, my questions concern ORACLE 11g,
    First topic
    Tell me if i'm right:
    if i set server parameters:
    memory_max_target to 1.5 GB
    memory_target to 1GB
    pga_aggregate_target to 100MB
    sga_target to 500MB
    Q1.That's mean DB will use at least 500MB for all SGA components and at least 100MB for Server Processes?
    Q2.And if it's true Oracle will tune SGA szie above sga_target and for PGA above 100MB if necessary?
    Second topic:
    If I set :
    memory_max_target to 1.5 GB
    memory_target to 1GB
    pga_aggregate_target to 0
    sga_target to 0
    Q3.That's mean DB wil tune SGA component's size and PGA buffer it self up to 1GB for both elements?
    Thanks for replay.

    From MOS ID 169706.1
    Automatic Memory Management
    Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm) and file descriptors. The shared memory should be sized to be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. To determine the amount of shared memory available, enter the following command: # df -k /dev/shm/
    Note: MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with huge pages on Linux

  • Oracle Automatic Memory Management

    Are there any restrictions or best practices regarding the setting of Oracle Automatic and Manual Memory Management (in particular the setting of these parameters: SGA_TARGET, SGA_MAX_SIZE, MEMORY_TARGET, MEMORY_MAX_TARGET) on various Oracle instances on the same server/node/virtual machine. In other words can the memory management schemes be mixed among various Oracle instances on the same server/node/virtual machine. For example suppose a server houses three Oracle instances - inst01, inst02, inst03. Can inst01 and inst03 use automatic memory management and inst02 use manual memory management. Are there any restrictions or best practices that should be noted? If there are multiple Oracle instances on the same server, is it a requirement that they all follow the same memory management scheme or is it a best practice to do so? Obviously, the total memory requested for the Oracle instances combined would not exceed the total physical memory available on the server.
    Note: we are currently using Oracle 11g R2 specifically 11.2.0.1 on Solaris

    sbing52 wrote:
    Are there any restrictions or best practices regarding the setting of Oracle Automatic and Manual Memory Management (in particular the setting of these parameters: SGA_TARGET, SGA_MAX_SIZE, MEMORY_TARGET, MEMORY_MAX_TARGET) on various Oracle instances on the same server/node/virtual machine. Not really or at least I am not aware of.
    In other words can the memory management schemes be mixed among various Oracle instances on the same server/node/virtual machine. Each instance is going to work individually so the answer is yes .
    For example suppose a server houses three Oracle instances - inst01, inst02, inst03. Can inst01 and inst03 use automatic memory management and inst02 use manual memory management.Yes.
    Are there any restrictions or best practices that should be noted? If there are multiple Oracle instances on the same server, is it a requirement that they all follow the same memory management scheme or is it a best practice to do so?As I said, not that I am aware of. As long as you are able to accommodate the memory requirements under your installed RAM, you should be okay.
    Obviously, the total memory requested for the Oracle instances combined would not exceed the total physical memory available on the server.Yep.
    Note: we are currently using Oracle 11g R2 specifically 11.2.0.1 on SolarisPatch to the latest patchset which is 11203.
    Aman....

  • Question about 11gR2 Grid, RAC, /dev/shm and Automatic Memory Management

    Hello,
    i've recently installed grid and rdbms software 11.2.0.2 on a two node Oracle Linux cluster with 128gb ram each node.
    I'm using ASM to store data and ocr and I'm testing Automatic Memory Management.
    When I finished Grid+RDBMS installation I've seen that /dev/shm size is 64gb (half of my total RAM).
    I've created a database with dbca and when I was asked to choose if I wanted to use AMM I've noticed that I could
    allocate only about 60gb for Oracle. If I chose more than 90gb I got an error saying:
    Using Automatic Memory Management requires 60gb available in my two nodes.
    The current available space in the two nodes is only 30gb and 30gb.
    If you want to use AMM you should either free up some space in /dev/shm
    or reduce the memory allocated to Oracle
    I was wondering when (during the installation or the settings of kernel parameters) did I define the space of /dev/shm ?
    Since I have 128gb of RAM wouldn't it be better to use more than 64gb of ram for my /dev/shm tmpfs partition ?
    Is there a limit or a ratio for best practice for my RAM and the /dev/shm ?
    thanks in advance.

    user9051299 wrote:
    Is the "half of the RAM size" a kernel's default value or Oracle's ? Neither. There are a number of unique factors that determine the best memory size and fit for Oracle - including just how much memory is effectively available (i.e. how much is needed for other services and processes).
    And from what I understand i don't "break" any Oracle's best practice by increasing the /dev/shm right ?Correct. (at least none that I'm aware of, and none that I have read in Oracle's RAC Starter Kit documentation).

  • Oracle 11g R1 Automatic Installation shell scripts

    Hy Guys,
    Please can someone help me with: Oracle 11g R1 Automatic Installation shell scripts. A guide, how to or a link will be wellcome
    Kind Regards
    Easyman
    Edited by: Easyman on Feb 2, 2010 3:58 AM

    Hi Easyman,
    sure, just have a look in $INSTALL_CONF directory. Files starting with swInst* are referencing a response file from $INSTALL_CONF/response directory. Either use a sample configuration file or add your own response file to install Oracle.
    Cheers,
    David
    OCP 9i / 10g / 11g
    http://www.oratoolkit.ch/knowledge/howto/installation/otn.php
    P.S.: If you have more questions about oraToolKit please contact me at: http://www.oratoolkit.ch/faq.php

  • Oracle 11G consuming more memory

    Dear experts,
    I have upgraded oracle 10 to 11 as one of my project.
    After upgrading the 11G is consuming more OS level resources. almost 15GB ram whith out any load.
    I would like to know what is the minimal usage of 11G at os level.
    thanks in advance.
    Regards,
    shiva P

    For a old version of BW system with Oracle 11G, not sure how much your system is loaded.
    However, you can always try to optimize resource available. If your memory is less, you need to add swap space and monitor it's usage.
    Check for BW specific parameters.
    1431798 - Oracle 11.2.0: Database Parameter Settings
    180605 - Oracle database parameter settings for BW
    1013912 - FAQ: Oracle BW performance
    Divyanshu

  • Start Oracle 11g Db automatically in windows

    OS: windows
    DB : Oracle 11.2.0.1.0
    I created Oracle 11g Database manually . but while restarting the system ,database not starting
    automatically. On begining of the script I created ORADIM with Manual option .
    oradim -NEW -SID mydb -STARTMODE MANUAL -PFILE pfI try the follwing command. but it is not working
    oradim -STARTUP -SID mydb -STARTTYPE  srvc,inst
    ORADIM -EDIT -SID mydb -STARTMODE auto I try the following command but it give the error message 'Unable to start service,OS error
    1056'
    ORADIM -EDIT -SID mydb -STARTMODE AUTO -SRVCSTART SYSTEM -SPFILEWhich command I need to use in my script start my db automatically.

    OraFighter wrote:
    ORA_finu_AUTOSTART TRUE
    actually which command I need to use to edit ORADIM for autostartif you add "-STARTMODE AUTO " with PFILE and then set "ORA_finu_AUTOSTART TRUE" then it should be fine.

  • Sort Area Size in Automatic memory management

    Hello All
    I am aware that the AREASIZE is ignored of the PGA_AGGREGATE_TARGET is set.
    So how is it possible that if we incrase the SORT_AREA_SIZE, the performance improves?
    does this necessarily mean that the PGA_AGGREGATE_TARGET was not set to a proper value that it instead used the SORT_AREA_SIZE instead?
    thanks

    Hi,
    If you have set workarea_size_policy=auto then under the automatic PGA memory management mode, sizing of work
    areas for all sessions becomes automatic and the AREASIZE parameters are
    ignored by all sessions running in that mode.
    In auto mode if you change any AREASIZE parameters will be ignored.
    If you want to manually handle ARASIZE then turnoff the Automatic pga memory by setting workarea_size_policy=MANUAL and then your changes to parameter will take effect but it's advisable to set pga to automatic.
    To check whether your pga is set proper or not check v$pga_target_advice view
    SELECT round(PGA_TARGET_FOR_ESTIMATE/1024/1024) target_mb,
    ESTD_PGA_CACHE_HIT_PERCENTAGE cache_hit_perc,
    ESTD_OVERALLOC_COUNT
    FROM V$PGA_TARGET_ADVICE;
    This will give you how your pga is set.
    chirag

  • Managing memory Automatic Memory Management 2

    When MEMORY_MAX_TARGET is >0 and MEMORY_TARGET=0 how is memory managed?

    It is managed as described in the documentation available at http://tahiti.oracle.com for free.
    As there is documentation on-line, please avoid asking to abstract the documentation.
    Your question constitutes a violation of Forum Etiquette.
    Sybrand Bakker
    Senior Oracle DBA

  • Managing memory Automatic Memory Management

    Hello all,
    Can any one give me the difference between MEMORY TARGET and MEMORY AGGREGATE TARGET?
    Thanks

    user9362044 wrote:
    Hello all,
    Can any one give me the difference between MEMORY TARGET and MEMORY AGGREGATE TARGET?
    ThanksThere is no MEMORY AGGREGATE TARGET parameter but there is MEMORY_TARGET parameter which indicate Automatic Memory .

  • Working on Automatic Memory Management

    Can any one understand this error message on startup and how to solve this?
    I am working on 11g server Linux 5.2 OS.
    Thanks
    Alain
    SQL> ALTER SYSTEM SET SGA_MAX_SIZE=2200M SCOPE=SPFILE;
    System altered.
    I try to bounce the database for the change of my SGA_MAX_SIZE became effective
    SQL> SHUTDOWN IMMEDIATE
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> STARTUP
    ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account, see alert log for more information

    00843, 00000, "Parameter not taking MEMORY_MAX_TARGET into account"
    // *Cause: The parameter was larger than MEMORY_MAX_TARGET.
    // *Action: Check the other error messages for additional information about the parameter. Set the parameter to a lower value than MEMORY_MAX_TARGET.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Iphone5 automatic memory increase day by day

    my name is jeewn garg   i using tha iphone5 white colour (32g)b (imei no is-******) using tha ios-8.1 my iphone mamery is increase day by day automatic i talk to apple custmer care in 3time but hw not solve tha problem
    <Personal Information Edited by Host>

    From MOS ID 169706.1
    Automatic Memory Management
    Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm) and file descriptors. The shared memory should be sized to be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. To determine the amount of shared memory available, enter the following command: # df -k /dev/shm/
    Note: MEMORY_MAX_TARGET and MEMORY_TARGET cannot be used when LOCK_SGA is enabled or with huge pages on Linux

  • In 11g, How to Enable Automatic Shared Memory Management (ASMM)

    hi experts,
    I have a new 11.2 g database and I want to configure it to use ASMM.
    To enable ASMM, should I assign a non-zero size to the Memory_Target parameter or the SGA_Target ? I have read conflicting statements.
    Thanks, John

    If you mean Automatic Memory Management, pl see
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/memory003.htm#ADMIN11011
    http://download.oracle.com/docs/cd/E11882_01/server.112/e10897/instance.htm#ADMQS12039
    HTH
    Srini

  • The danger of memory target in Oracle 11g - request for discussion.

    Hello, everyone.
    This is not a question, but kind of request for discussion.
    I believe that many of you heard something about automatic memory management in Oracle 11g.
    The concept is that Oracle manages the target size of SGA and PGA. Yes, believe it or not, all we have to do is just to tell Oracle how much memory it can use.
    But I have a big concern on this. The optimizer takes the PGA size into consideration when calculating the cost of sort-related operations.
    So what would happen when Oracle dynamically changes the target size of PGA? Following is a simple demonstration of my concern.
    UKJA@ukja116> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    -- Configuration
    *.memory_target=350m
    *.memory_max_target=350m
    create table t1(c1 int, c2 char(100));
    create table t2(c1 int, c2 char(100));
    insert into t1 select level, level from dual connect by level <= 10000;
    insert into t2 select level, level from dual connect by level <= 10000;
    -- First 10053 trace
    alter session set events '10053 trace name context forever, level 1';
    select /*+ use_hash(t1 t2) */ count(*)
    from t1, t2
    where t1.c1 = t2.c1 and t1.c2 = t2.c2
    alter session set events '10053 trace name context off';
    -- Do aggressive hard parse to make Oracle dynamically change the size of memory segments.
    declare
      pat1     varchar2(1000);
      pat2     varchar2(1000);
      va       number;
      vc       sys_refcursor;
      vs        varchar2(1000);
    begin
      select ksppstvl into pat1
        from sys.xm$ksppi i, sys.xm$ksppcv v   -- views for x$ table
        where i.indx = v.indx
        and i.ksppinm = '__pga_aggregate_target';
      for idx in 1 .. 10000000 loop
        execute immediate 'select count(*) from t1 where rownum = ' || (idx+1)
              into va;
        if mod(idx, 1000) = 0 then
          sys.dbms_system.ksdwrt(2, idx || 'th execution');
          select ksppstvl into pat2
          from sys.xm$ksppi i, sys.xm$ksppcv v   -- views for x$ table
          where i.indx = v.indx
          and i.ksppinm = '__pga_aggregate_target';
          if pat1 <> pat2 then
            sys.dbms_system.ksdwrt(2, 'yep, I got it!');
            exit;
          end if;
        end if;
      end loop;
    end;
    -- As to alert log file,
    25000th execution
    26000th execution
    27000th execution
    28000th execution
    29000th execution
    30000th execution
    yep, I got it! <-- the pga target changed with 30000th hard parse
    -- Second 10053 trace for same query
    alter session set events '10053 trace name context forever, level 1';
    select /*+ use_hash(t1 t2) */ count(*)
    from t1, t2
    where t1.c1 = t2.c1 and t1.c2 = t2.c2
    alter session set events '10053 trace name context off';With above test case, I found that
    1. Oracle invalidates the query when internal pga aggregate size changes, which is quite natural.
    2. With changed pga aggregate size, Oracle recalculates the cost. These are excerpts from the both of the 10053 trace files.
    -- First 10053 trace file
    PARAMETERS USED BY THE OPTIMIZER
      PARAMETERS WITH ALTERED VALUES
    Compilation Environment Dump
    _smm_max_size                       = 11468 KB
    _smm_px_max_size                    = 28672 KB
    optimizer_use_sql_plan_baselines    = false
    optimizer_use_invisible_indexes     = true
    -- Second 10053 trace file
    PARAMETERS USED BY THE OPTIMIZER
      PARAMETERS WITH ALTERED VALUES
    Compilation Environment Dump
    _smm_max_size                       = 13107 KB
    _smm_px_max_size                    = 32768 KB
    optimizer_use_sql_plan_baselines    = false
    optimizer_use_invisible_indexes     = true
    Bug Fix Control Environment10053 trace file clearly says that Oracle recalculates the cost of the query with the change of internal pga aggregate target size. So, there is a great danger of unexpected plan change while Oracle dynamically controls the memory segments.
    I believe that this is a desinged behavior, but the negative side effect is not negligible.
    I just like to hear your opinions on this behavior.
    Do you think that this is acceptable? Or is this another great feature that nobody wants to use like automatic tuning advisor?
    ================================
    Dion Cho - Oracle Performance Storyteller
    http://dioncho.wordpress.com (english)
    http://ukja.tistory.com (korean)
    ================================

    I made a slight modification with my test case to have mixed workloads of hard parse and logical reads.
    *.memory_target=200m
    *.memory_max_target=200m
    create table t3(c1 int, c2 char(1000));
    insert into t3 select level, level from dual connect by level <= 50000;
    declare
      pat1     varchar2(1000);
      pat2     varchar2(1000);
      va       number;
    begin
      select ksppstvl into pat1
        from sys.xm$ksppi i, sys.xm$ksppcv v
        where i.indx = v.indx
        and i.ksppinm = '__pga_aggregate_target';
      for idx in 1 .. 1000000 loop
        -- try many patterns here!
        execute immediate 'select count(*) from t3 where 10 = mod('||idx||',10)+1' into va;
        if mod(idx, 100) = 0 then
          sys.dbms_system.ksdwrt(2, idx || 'th execution');
          for p in (select ksppinm, ksppstvl
              from sys.xm$ksppi i, sys.xm$ksppcv v
              where i.indx = v.indx
              and i.ksppinm in ('__shared_pool_size', '__db_cache_size', '__pga_aggregate_target')) loop
              sys.dbms_system.ksdwrt(2, p.ksppinm || ' = ' || p.ksppstvl);
          end loop;
          select ksppstvl into pat2
          from sys.xm$ksppi i, sys.xm$ksppcv v
          where i.indx = v.indx
          and i.ksppinm = '__pga_aggregate_target';
          if pat1 <> pat2 then
            sys.dbms_system.ksdwrt(2, 'yep, I got it! pat1=' || pat1 ||', pat2='||pat2);
            exit;
          end if;
        end if;
      end loop;
    end;
    /This test case showed expected and reasonable result, like following:
    100th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    200th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    300th execution
    __shared_pool_size = 88080384
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    400th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    500th execution
    __shared_pool_size = 88080384
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    1100th execution
    __shared_pool_size = 92274688
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    1200th execution
    __shared_pool_size = 92274688
    __db_cache_size = 37748736
    __pga_aggregate_target = 58720256
    yep, I got it! pat1=83886080, pat2=58720256Oracle continued being bounced between shared pool and buffer cache size, and about 1200th execution Oracle suddenly stole some memory from PGA target area to increase db cache size.
    (I'm still in dark age on this automatic memory target management of 11g. More research in need!)
    I think that this is very clear and natural behavior. I just want to point out that this would result in unwanted catastrophe under special cases, especially with some logic holes and bugs.
    ================================
    Dion Cho - Oracle Performance Storyteller
    http://dioncho.wordpress.com (english)
    http://ukja.tistory.com (korean)
    ================================

  • 11g AMM - Diagnostic+Tuning Packs required?

    Am I required to purchase a license for the Diagnostic+Tuning packs in order to utilize Automatic Memory Management (AMM) in Oracle 11g?  I haven't been able to find any documentation online stating so.

    Oracle uses some features internally that you would have to pay for if you used them (even just accessing the tables).  But as long as you don't access them yourself, you are fine.  You can check the view DBA_FEATURE_USAGE_STATISTICS and the access is controlled by Options and Packs CONTROL_MANAGEMENT_PACK_ACCESS
    If you have access to MOS, this is explained in AWR Reporting - Licensing Requirements Clarification (Doc ID 1490798.1)
    Edit:  Oracle Database Comparisons | Oracle Database | Oracle search for "Automatic Memory" and it shows it is available for all editions, even though you can only even buy diagnostics on Enterprise.
    Edit2:  Of course, some things you can use: https://blogs.oracle.com/optimizer/entry/does_the_use_of_sql

Maybe you are looking for

  • Cost of Sales & Period Account.......

    Hi SAP guru's, - What is the diff. between Cost of Sales Accounting and Period Accounting approach? - What is reconciliation ledger? what is diff between Reconciliation ledger and Special purpose ledger? sure we will assign good points thanks VK

  • Can a web site created in Front Page be imported into iWeb?

    Our company's current web site was created in Front Page, and needs updating. I would like to try doing this in iWeb. Is this possible? I haven't had any luck searching for answers. Thanks.

  • Having issues with iTunes.

    Well, I'm having issues uploading existing music from my iPhone 4s to my iTunes library. Once I hit sync, it tells me I have to erase and then sync. I don't understand and I've been trying everything to get around it. Side note-my mac did crash and h

  • I want to add power point content to my quiz page (slide).

    I want to add power point content to my quiz page (slide). I use CP7

  • MacBook Pro Won't wake after going to sleep.

    I have been having this issue for quite sometime now. My 15" MacBook Pro (Late 2008) will go to sleep and then not respond when trying to wake. This only happens when my computer goes to sleep with the display open (usually when watching DVD's or wri