Increase RAM do I need to increase shared pools

If I adjust my RAM by adding 12 GB with gives it 32 GB total, what do my ipc pools have to be set at? especially 10 and 40 on AIX?
What other params do I need? We have a heavy interface with batch jobs from our manafacturing floor systems.
Thanks
Mikie

Hi,
The Virtual memory, it is physical memory ( RAM) and shared memory combined. Which is automatically allocated by the SAP System. So I suspect that we need not tune the shared memory parameters on addition of addtional physical memory.
With regards
Sudha

Similar Messages

  • Increased Shared Pool size longer hot backup time?

    Hello,
    I have hot backup that usually took 2 hours to complete. Then we had to increase Shared pool size from 280Mb to 380Mb due to some performance issue.
    One week after increase of size the hot backup is taking 4 hours to complete. Since there was no other changes to the system I am suspecting size increase
    of Shared Pool from 280Mb to 380Mb might be is reason for such drastic increase of backup time.
    I would like to get your comments on my suspicion to the problem.
    thank you

    Paul.S wrote:
    One week after increase of size the hot backup is taking 4 hours to complete. Since there was no other changes to the system I am suspecting size increase of Shared Pool from 280Mb to 380Mb might be is reason for such drastic increase of backup time.Hmm... at first glance it does not seem that this is the problem.. but perhaps it contributes to it.
    When a SQL hits the SQL engine, the 1st thing the SQL engine does is determine if there is an existing parsed and ready-to-use copy of that SQL. If there is, that existing SQL is re-used - thus the name SQL Shared Pool. The resulting soft parse of the SQL is a lot faster (or should be) than a hard parse . A hard parse is where there is no re-usable copy, and the SQL needs to be parsed, validated and execution plan determined, etc.
    Kind of like re-using an existing compiled program (with different input data) versus compiling that program before using it. (and that is what source SQL is - a program that needs to be compiled).
    Okay, now what happens if there 100's of 1000's of SQLs in your shared pool? The scan that the SQL engine does to determine if there is a re-usable cursor, becomes pretty slow. A soft parse quickly becomes very expensive.
    The problem is typically clients that create SQLs that are not sharable (where the input data is hardcoded into the program, instead of input variables to the program). In other words, SQLs that do not use bind variables.
    Each and every hardcoded SQL that hits the SQL engine, is now a brand new SQL. And requires storage in the SQL Shared Pool. Shared Pool footprint grows and you start getting errors like insufficient shared pool memory.. and increase the shared pool which means even more space to store even more unique non-sharable SQLs and making soft and hard parses even more expensive.
    Like moving the wall a few metres further and then running even faster into it. !http://www.pprune.org/forums/images/smilies2/eusa_wall.gif!
    Now if the backup fires off a load of SQLs against the SQL engine, the fast soft/hard parses can now be a lot slower than previously, thanks to a larger shared pool that now caters for more junk than before.
    Unsure if this is the problem that you are experiencing.. but assuming that your suspicion is correct, it offers an explanation as to why there can be a degradation in performance.

  • Oracle RAC 10.2.0.3 increasing shared pool  KQR L PO

    Hi,
    I've got ORA-04031 on my 4 node 10.2.0.3 Linux RAC.
    The top 3 shared pool occupants are:
    SQL> r
      1  select * from (
      2  select * from v$sgastat where pool = 'shared pool' order by 3 desc)
      3  where
      4* rownum <= 3
    POOL         NAME                            BYTES
    shared pool  KQR L PO                    714319616
    shared pool  sql area                    326563888
    shared pool  free memory                 220592728Any idea what is KQR L PO responsible for ?
    Regards.
    Greg

    Hi,
    CauseThe shared pool is stressed and memory need to be freed for the new cursors. As a consequence, the dictionary cache is reduced in size by the LCK process causing a temporal hang of the instance since the LCK can't do other activity during that time. Since the dictionary cache is a memory area protected clusterwide in RAC, the LCK is responsible to free it in collaboration with the dictionary cache users (the sessions using cursors referenced in the dictionary cache). This process can be time consuming when the dictionary cache is big.
    Solutiona. reduce the stress on the shared pool
    => by increasing it above the automatically reached value with dynamic sga, e.g.
    when sga_target is set to 16G and the shared_pool_size was 6G during the hang time, set it to e.g. 8G.
    => by reducing the number of big cursors entering the shared pool, e.g. cursors using more than 1M sharable_mem e.g. via binding
    select sql_text from v$sqlarea where sharable_mem > 1M;
    b. reduce the dictionary cache usage in order to reduce the size of the dictionary cache, e.g.
    => when dc_histogram_defs is too high, it can point towards histograms calculations on all columns
    of the tables. histograms should only be calculated on indexed columns
    => when dc_segments is high compared to dc_object_ids, it can point towards excessive partitioning usage. Reducing the partitions/subpartition usage will help reduce the dictionary cache usage to manage it.
    c. set enableshared_pool_durations = false to avoid that one duration (a memory area in the shared pool used for a specific usage) need to give all space required for that usage, i.e. in case the duration containing the dictionary cache need to free memory, then that duration is extra stressed since no other type of memory from other durations can be used. Setting it to false make that any type of memory can be used to free space (i.e. any type of memory in the subpool). As a consequence, the number of subpools will be reduced by the factor of the number of durations (4 in 10gR2). Hence tuning the kghdsidxcount is advisable, e.g. increasing it to have manageable subpool sizes (see note:396940.1).
    d. check patch:8666117 has been applied. This patch speedup the processing to free memory
    Best regards,
    Rafi.
    http://rafioracledba.blogspot.com/

  • Increase Shared Pool for erorr # ORA-04031

    hi,
    what do i need to look at before i increase the shared pool of our database?
    there is just the one database instance on the machine.
    i am concerned about the repurcussions on the server.
    i hope the information below is of help.
    db version: 10.2.0.1.0
    os: Red Hat Linux 3
    SQL> select name, value from v$parameter where name like '%pool%';
    name value
    shared_pool_size 150994944
    large_pool_size 33554432
    java_pool_size 50331648
    streams_pool_size 0
    shared_pool_reserved_size 10066329
    buffer_pool_keep
    buffer_pool_recycle
    global_context_pool_size
    olap_page_pool_size 0
    thanks,
    santosh sewlal

    Hi Santosh,
    This is what i faced last two days back! Now i am monitoring the Issue! If you got any solutions please let me know how to avoid this!
    ORA-04031 error can be due to either an inadequeate sizing of the SHARED POOL size or due to heavy
    fragmentation leading the database to not finding large enough chuncks of memory.
    You can monitor this with the two events...
    alter system set events '4031 trace name errorstack level 3';
    alter system set events '4031 trace name heapdump level 3';
    Fragmentataion is one of the causes of ora 4031
    Please refer these.
    1.Article-ID: Note 146599.1
    Title: Diagnosing and Resolving Error ORA-04031
    2.Article-ID: Note 62143.1
    Title: Understanding and Tuning the Shared Pool
    3.Article-ID: Note 61623.1
    This is paticular for Oracle 9i Rel 2, Hope the same for Oracle 10 G
    Regards
    Ravi

  • Shared pool size

    Hi All,
    DB:oracle9iR2
    os:solaris
    how to get the shared_pool usage,free total size and hit ratio in oracle 9i R2?,can any one help to me....
    POOL BYTES MB
    shared pool used :
    shared pool free :
    shared pool (Total):
    =================
    Shared_pool hit ratio:
    thanks.

    Hi All,
    thank you for all the responses..
    Db:oracle 9iR2
    os :solaris
    Actually i am facing below problem..
    prob: ORA-00604: error occurred at recursive SQL level 2
    ORA-04031: unable to allocate 4224 bytes of shared memory ("shared pool","select obj#,type#,ctime,mtim...","sga heap(1,0)","library ca
    che")
    Wed Feb 8 19:33:43 2012
    Errors in file /ora/admin/cddp/bdump/cddp_cjq0_2601.trc:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-04031: unable to allocate 4224 bytes of shared memory ("shared pool","select obj#,type#,ctime,mtim...","sga heap(1,0)","library ca
    che")
    Wed Feb 8 19:33:43 2012
    Errors in file /ora/admin/cddp/bdump/cddp_cjq0_2601.trc:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-04031: unable to allocate 4224 bytes of shared memory ("shared pool","select obj#,type#,ctime,mtim...","sga heap(1,0)","library ca
    che")
    Wed Feb 8 19:33:48 2012
    Errors in file /ora/admin/cddp/bdump/cddp_cjq0_2601.trc:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-04031: unable to allocate 4224 bytes of shared memory ("shared pool","select obj#,type#,ctime,mtim...","sga heap(1,0)","library ca
    che")
    ========================================
    i was running with 200MB size of share pool....couple of days back un expectdly i got above error....for temparory solution i did shared pool flush...
    again nexday same error got repeated....for that i increased shared pool size to 420 MB....
    while monitoring db it is using shared pool memory up to 400MB with avg shared pool hit ratio of 94.5 %..(database started recently)...
    Earlier shared_pool size:200MB
    Now:420 MB
    Avg usage:up to 400MB
    my question is :
    1)if we have many different sql statements in shared pool ..won't
    oracle flush share pool (ie aged out based on LRU or some alogorithm) if any program need memory in shared pool?
    2) Any data Fragmentation will cause@above error?
    3)can any one please explain..... how to check whats going on in Shared_pool(internally)...why it is using 400MB while compare to erlier avg usage 170MB .....any idea...(how to find root cause)..?
    4)will plan table cause any issue ?
    can any one explain to me...
    thanks..
    Edited by: kk001 on Feb 11, 2012 4:54 PM
    Edited by: kk001 on Feb 11, 2012 4:56 PM

  • Shared Pool utilisation

    Hello Team:
    I ran a metalink script to report the shared pool utilization recently. I took this output when the database was on peak load.
    SQL> /
    Obj mem: 66435759 bytes (63.36MB)
    Shared sql: 324219036 bytes (309.2MB)
    Cursors: 341207073 bytes (325.4MB)
    Free memory: 67228508 bytes (64.11MB)
    Shared pool utilization (total): 468785754 bytes (447.07MB)
    Shared pool allocation (actual): 754974720bytes (720MB)
    Percentage Utilized: 91%
    does this mean I have to add more space to shared pool. If so what is the threshold value?
    Regards,
    Bala

    Bhawani nandan Prasad - Principal DBA -- See a to z diagnostics about Shared pool
    1. Memory     2
    a. Shared Pool     2
    1. Introduction     2
    2. Architecture     2
    3. Scripts for different DBA tasks:     5
    a.Measure object usage inside the shared pool and Tune shared pool     7
    b.Check reload problem in library cache     12
    c.Find the large queries in the shared pool library cache (using > 4mb each)     13
    d.Find objects that can be considered pining into the shared pool     13
    e.LRU work and objects were loaded and flushed     13
    f.How much are waiting for Library Cache Latch     14
    g.Queries identical but aren’t shared.     14
    h.Get Biggest chunk of free memory.     14
    i.Check the shared pool reserved size status     16
    j.When having multiple subheaps:     16
    k.Check shared pool at first glance quick diagnostics     17
    l.Memory Usage - object list level view     17
    m.Loads Number of times object has been loaded     17
    n.Check number of times and object has been executed     18
    o.Check shared pool in more details     18
    p.Library Cache Statistics     18
    q.Reserve Pool Settings     19
    r.Pinned Objects     19
    s.Finding literal SQL     19
    t.Finding the Library Cache hit ratio     19
    u. Row Cache Misses – Dictionary cache stats     19
    v. Checking hash chain lengths     20
    w. Checking for high version counts     20
    x. Finding statement/s which use lots of shared pool memory     20
    y. Allocations causing shared pool memory to be 'aged' out     21
    z. Issues in various Oracle Releases     21
    4. Terminology     22
    5. Oracle 11g Caching and Pooling – SQL Result Cache     27
    6. References     37
    2. SQL     38
    3. Statistics     38
    4. Wait events     38
    5. Schema     39
    6. General     39
    a. Scripts     39
    1. accept.sql     39
    1. Memory
    a. Shared Pool
    1. Introduction
    Shared pool is used to cache different types of data such as textual and executable forms of PL/SQL blocks and SQL statements, dictionary cache data, and other data in SGA. Additional shared memory needed in the SHARED POOL if using ASM storage. Gathering schema/database stats (table/index stats) makes database query performance better and it reduce utilization of shared pool. Hence, practice to schedule job to gather stats regularly which suites your database performance. If you use shared pool effectively you can reduce resource consumption in at least four ways
    1.     Parse overhead is avoided if the SQL statement is already in the shared pool. This saves CPU resources on the host and elapsed time for the end user.
    2.     Latching resource usage is significantly reduced, which results in greater scalability.
    3.     Shared pool memory requirements are reduced, because all applications use the same pool of SQL statements and dictionary resources.
    4.     I/O resources are saved, because dictionary elements that are in the shared pool do not require disk access.
    This sharable area of memory is managed as a sophisticated cache and heap manager rolled into one. It has 3 fundamental problems to overcome:
    1.     The unit of memory allocation is not a constant - memory allocations from the pool can be anything from a few bytes to many kilobytes
    2.     Not all memory can be 'freed' when a user finishes with it (as is the case in a traditional heap manager) as the aim of the shared pool is to maximize share of information. The information in the memory may be useful to another session - Oracle cannot know in advance if the items will be of any use to anyone else or not.
    3.     There is no disk area to page out to so this is not like a traditional cache where there is a file backing store. Only "rewriteable" information can be discarded from the cache and it has to be re-created when it is next needed.
    Oracle 10g architecture of Shared pool:
    Library Cache     Shared SQL Area (Hash Value, SQL source, Execution plan)
    Data Dictionary Cache
    Enqueues     Fixed Area     Other
    Latches          
    Oracle 11g architecture of Shared pool:
    Library Cache     Shared SQL Area (Hash Value, SQL source, Execution plan)
    Data Dictionary Cache
    Result Cache
    Enqueues     Fixed Area     Other
    Latches          
    1. Library Cache
    Shared Sql Area: contains Parsed SQL and execution Plans for statements already run against the database. This area allows SQL execution plans to be reused by many users.
    Private SQL Area: Private SQL areas are non-shared memory areas assigned to unique user sessions.
    Pl/sql Area: contains the recently executed Procedures, Functions and Packages.
    Control Structures: Common control structure information example Memory for Latches and locks, sequence cache.
    2. Dictionary cache known as the row cache.
    Dictionary cache stores all the metadata info of tables and views in the database, Names and data types of the columns in the database, Object and system privileges of all the Users. Oracle maintains the stats of all the objects in the shared pool, if any of the memory objects are not used from the last 3 seconds, these memory objects will be aged out and will be removed from the cache. All the Shared Pool Structures are maintained by a LRU (least recently Used) algorithm, by which Oracle removes the objects from the shared Pool, until there is enough free space in the shared Pool to keep new Object.
    3. Scripts for different DBA tasks:
    Dictionary Views for shared POOL:
    NON-RAC
    V$DB_CACHE_ADVICE
    V$DB_OBJECT_CACHE
    V$DLM_LATCH
    V$DLM_LOCKS
    V$LATCH
    V$LATCHHOLDER
    V$LATCHNAME
    V$LATCH_CHILDREN
    V$LATCH_MISSES
    V$LATCH_PARENT
    V$LIBRARYCACHE
    V$LOCK
    V$LOCKED_OBJECT
    V$LOCKS_WITH_COLLISIONS
    V$LOCK_ACTIVITY
    V$LOCK_ELEMENT
    V$OPEN_CURSOR
    V$PROCESS
    V$PX_PROCESS
    V$PX_PROCESS_SYSSTAT
    V$PX_SESSION
    V$PX_SESSTAT
    V$ROWCACHE
    V$ROWCACHE_PARENT
    V$ROWCACHE_SUBORDINATE
    V$SESSION
    V$SESSION_CONNECT_INFO
    V$SESSION_CURSOR_CACHE
    V$SESSION_EVENT
    V$SESSION_LONGOPS
    V$SESSION_OBJECT_CACHE
    V$SESSION_WAIT
    V$SESSTAT
    V$SESS_IO
    V$SGA
    V$SGASTAT
    V$SGAINFO
    V$SGA_DYAMIC_COMPONENTS
    V$SGA_DYNAMIC_FREE_MEMORY
    V$SGA_RESIZE_OPS
    V$SGA_CURRENT_RESIZE_OPS
    v$shared_pool_advice
    V_$SHARED_POOL_ADVICE
    V$SHARED_POOL_RESERVED
    V$SHARED_SERVER
    V$SORT_SEGMENT
    V$SORT_USAGE
    V$SQL
    V$SQLAREA
    V$SQLTEXT
    V$SQLTEXT_WITH_NEWLINES
    V$SQL_BIND_DATA
    V$SQL_BIND_METADATA
    V$SQL_CURSOR
    V$SQL_SHARED_CURSOR
    V$SQL_SHARED_MEMORY
    V$STATNAME
    V$SUBCACHE
    V$SYSSTAT
    V$SYSTEM_CURSOR_CACHE
    V$SYSTEM_EVENT
    V$SYSTEM_PARAMETER
    X$KSMSP
    RAC
    GV$LATCH
    GV$LATCHHOLDER
    GV$LATCHNAME
    GV$LATCH_CHILDREN
    GV$LATCH_MISSES
    GV$LATCH_PARENT
    GV$LIBRARYCACHE
    GV$LOCK
    GV$LOCKED_OBJECT
    GV$LOCKS_WITH_COLLISIONS
    GV$LOCK_ACTIVITY
    GV$LOCK_ELEMENT
    GV$PROCESS
    GV$PX_PROCESS
    GV$PX_PROCESS_SYSSTAT
    GV$PX_SESSION
    GV$PX_SESSTAT
    GV$ROWCACHE
    GV$ROWCACHE_PARENT
    GV$ROWCACHE_SUBORDINATE
    GV$SESSION
    GV$SESSION_CONNECT_INFO
    GV$SESSION_CURSOR_CACHE
    GV$SESSION_EVENT
    GV$SESSION_LONGOPS
    GV$SESSION_OBJECT_CACHE
    GV$SESSION_WAIT
    GV$SESSTAT
    GV$SESS_IO
    GV$SGA
    GV$SGASTAT
    gv$shared_pool_advice
    GV$SHARED_POOL_RESERVED
    GV$SHARED_SERVER
    GV$SORT_SEGMENT
    GV$SORT_USAGE
    GV$SQL
    GV$SQLAREA
    GV$SQLTEXT
    GV$SQLTEXT_WITH_NEWLINES
    GV$SQL_BIND_DATA
    GV$SQL_BIND_METADATA
    GV$SQL_CURSOR
    GV$SQL_SHARED_CURSOR
    GV$SQL_SHARED_MEMORY
    GV$STATNAME
    GV$SUBCACHE
    GV$SYSSTAT
    GV$SYSTEM_CURSOR_CACHE
    GV$SYSTEM_EVENT
    GV$SYSTEM_PARAMETER
    GV$WAITSTAT
    GV$_LOCK
    a.Measure object usage inside the shared pool and Tune shared pool
    set pagesize 132
    column owner format a16
    column name format a36
    column sharable_mem format 999,999,999
    column executions format 999,999,999
    prompt
    prompt Memory Usage of Shared Pool Order - Biggest First
    prompt
    column name format 45
    select owner, name||' - '||type name, sharable_mem from v$db_object_cache
    where sharable_mem > 10000
    and type in ('PACKAGE', 'PACKAGE BODY', 'FUNCTION', 'PROCEDURE')
    order by sharable_mem desc
    prompt
    prompt Loads into Shared Pool - Most Loads First
    prompt
    select owner, name||' - '||type name, loads , sharable_mem from v$db_object_cache
    where loads > 3
    and type in ('PACKAGE', 'PACKAGE BODY', 'FUNCTION', 'PROCEDURE')
    order by loads desc
    prompt
    prompt Executions of Objects in the Shared Pool - Most Executions First
    prompt
    select owner, name||' - '||type name, executions from v$db_object_cache
    where executions > 100
    and type in ('PACKAGE', 'PACKAGE BODY', 'FUNCTION', 'PROCEDURE')
    order by executions desc
    select 'If the values for the EXEC and LOADS close increase SHARED_POOL_SIZE!' from dual ;
    set feedback off
    set linesize 80
    set pagesize 52
    clear columns
    clear breaks
    col executions HEADING EXEC
    col sharable_mem heading SHAMEM
    col owner format a8
    col name format a30
    col type format a12
    set numwidth 8
    ttitle center 'Data Base Objects Owned by All Users Statistics' skip 2
    select name, type, sharable_mem, loads, executions, pins
    from sys.v_$db_object_cache ;
    b.Check reload problem in library cache
    select namespace, pins, reloads from v$librarycache;
    show parameters shared_pool
    select bytes/1024/1024 from v$sgastat where pool='shared pool' and name='free memory';
    c.Find the large queries in the shared pool library cache (using > 4mb each)
    SELECT sql_text "Stmt", count(*), sum(sharable_mem) "Mem",
    sum(users_opening) "Open", sum(executions) "Exec"
    FROM v$sql GROUP BY sql_text HAVING sum(sharable_mem) > 4096000;
    d.Find objects that can be considered pining into the shared pool
    column name format a40
    column owner format a15
    select owner, name, executions, locks, pins, loads, kept from v$db_object_cache where loads > 10;
    create temp table and insert records of candidates to be pinned.
    CREATE TABLE LRU_TMP AS SELECT * FROM X$KSMLRU;
    INSERT INTO LRU_TMP SELECT * FROM X$KSMLRU;
    Use the LRU_TMP table for analysis.
    SELECT USERNAME, KSMLRCOM, KSMLRHON, KSMLRNUM, KSMLRSIZ, SQL_TEXT
    FROM V$SQLAREA A, LRU_TMP K, V$SESSION S WHERE KSMLRSIZ > 3000
    AND A.ADDRESS=S.SQL_ADDRESS AND A.HASH_VALUE = S.SQL_HASH_VALUE
    AND SADDR=KSMLRSES;
    You can see the candidates to pin from the query below
    COL STORED_OBJECT FORMAT A40;
    COL SQ_EXECUTIONS FORMAT 999,999;
    SELECT /*+ ORDERED USE_HASH(D) USE_HASH(C) */ O.KGLNAOWN||’.'||O.KGLNAOBJ STORED_OBJECT, SUM(C.KGLHDEXC) SQL_EXECUTIONS
    FROM SYS.X$KGLOB O, SYS.X$KGLRD D, SYS.X$KGLCURSOR C
    WHERE
    O.INST_ID = USERENV(’INSTANCE’) AND
    D.INST_ID = USERENV(’INSTANCE’) AND
    C.INST_ID = USERENV(’INSTANCE’) AND
    O.KGLOBTYP IN (7, 8, 9, 11, 12) AND
    D.KGLHDCDR = O.KGLHDADR AND
    C.KGLHDPAR = D.KGLRDHDL
    GROUP BY O.KGLNAOWN, O.KGLNAOBJ
    HAVING SUM(C.KGLHDEXC) > 0
    ORDER BY 2 DESC;
    How to pin object
    EXECUTE SYS.DBMS_SHARED_POOL.SIZES(150);
    EXECUTE SYS.DBMS_SHARED_POOL.KEEP('SYS.STANDARD');
    EXECUTE SYS.DBMS_SHARED_POOL.UNKEEP('SYS.STANDARD');
    e.LRU work and objects were loaded and flushed
    LRU work in the shared pool KSMLRNUM stores the number of objects that were flushed to load the large object. KSMLRISZ stores the size of the object that was loaded (contiguous memory allocated)
    column ksmlrcom format a20
    column username format a5
    select username,sid,KSMLRCOM,KSMLRSIZ,KSMLRNUM, KSMLRHON, KSMLROHV, KSMLRSES from x$ksmlru , v$session where KSMLRSES=SADDR and KSMLRNUM >2 ;
    f.How much are waiting for Library Cache Latch
    select count(*),event from v$session_wait where event not like '%SQL%' and event not like '%ipc%' and event not like '%timer%' GROUP BY EVENT;
    select count(*),wait_time from v$session_wait where event='latch free' and p2=106 group by wait_time;
    select sid,wait_time,seconds_in_wait from v$session_wait where event='latch free' and p2=106 and WAIT_TIME>1;
    g.Queries identical but aren’t shared.
    SELECT address, hash_value, version_count , users_opening , users_executing,
    substr(sql_text,1,240) "SQL" FROM v$sqlarea WHERE version_count > 10;
    h.Get Biggest chunk of free memory.
    select sysdate, decode( sign(ksmchsiz - 812), -1, (ksmchsiz - 16) / 4,
    decode(sign(ksmchsiz - 4012),-1, trunc((ksmchsiz + 11924) / 64),
    decode(sign(ksmchsiz - 65548), -1, trunc(1/log(ksmchsiz - 11, 2)) + 238,254))) bucket,
    sum(ksmchsiz) free_space, count(*) free_chunks, trunc(avg(ksmchsiz)) average_size,
    max(ksmchsiz) biggest from x$ksmsp
    where inst_id = userenv('Instance') and ksmchcls = 'free' group by
    decode(sign(ksmchsiz - 812),-1, (ksmchsiz - 16) / 4,
    decode(sign(ksmchsiz - 4012),-1, trunc((ksmchsiz + 11924) / 64),
    decode(sign(ksmchsiz - 65548),-1, trunc(1/log(ksmchsiz - 11, 2)) + 238,254 ))) ;
    SELECT KSMCHCLS CLASS, COUNT(KSMCHCLS) NUM, SUM(KSMCHSIZ) SIZ,
    To_char( ((SUM(KSMCHSIZ)/COUNT(KSMCHCLS)/1024)),’999,999.00′)||’k’ “AVG SIZE”
    FROM X$KSMSP GROUP BY KSMCHCLS;
    CLASS     NUM     SIZ     AVG SIZE
    freeabl     19010     34519404     1.77k
    recr     23581     24967956     1.03k
    R-freea     68     1632     .02k
    perm     22     39801268     1,766.75k
    R-free     34     7238192     207.90k
    free     2389     36075980     14.75k
    Watch for trends using these guidelines:
    a) if ‘free’ memory is low (less than 5mb or so) you may need to increase the shared_pool_size and shared_pool_reserved_size. You should expect ‘free’ memory to increase and decrease over time. Seeing trends where ‘free’ memory decreases consistently is not necessarily a problem, but seeing consistent spikes up and down could be a problem.
    b) if ‘freeable’ or ‘perm’ memory continually grows then it is possible you are seeing a memory bug.
    c) if ‘freeabl’ and ‘recr’ memory classes are always huge, this indicates that you have a lot of cursor info stored that is not releasing.
    d) if ‘free’ memory is huge but you are still getting 4031 errors, the problem is likely reloads and invalids in the library cache causing fragmentation.
    -Note says that this query can hang database on HP platforms
    See the shared pool parameters
    column name format a30
    select name,value from v$parameter where name like '%shared_pool%' ;
    select x.ksppinm, y.ksppstvl from x$ksppi x , x$ksppcv y where x.indx = y.indx and lower(x.ksppinm) like '%spin%';
    SELECT count(*) FROM v$latch_children WHERE NAME = 'library cache';
    Shrinking and growing operations from V$SGA_RESIZE_OPS dynamic view:
    select to_char(end_time, ‘dd-Mon-yyyy hh24:mi’) end, oper_type, initial_size, target_size, final_size from V$SGA_RESIZE_OPS where component=’shared pool’ order by end;
    #shared_pool_summary.sql -get an overview of chunks in the shared pool
    select
    ksmchcom contents,
    count(*) chunks,
    sum(decode(ksmchcls, 'recr', ksmchsiz)) recreatable,
    sum(decode(ksmchcls, 'freeabl', ksmchsiz)) freeable,
    sum(ksmchsiz) total
    from
    sys.x_$ksmsp
    where
    inst_id = userenv('Instance') and
    ksmchcls not like 'R%'
    group by
    ksmchcom
    #reserved_pool_summary.sql - get an overview of chunks in the reserved pool
    select
    ksmchcom contents,
    count(*) chunks,
    sum(decode(ksmchcls, 'R-recr', ksmchsiz)) recreatable,
    sum(decode(ksmchcls, 'R-freea', ksmchsiz)) freeable,
    sum(ksmchsiz) total
    from
    sys.x_$ksmspr
    where
    inst_id = userenv('Instance')
    group by
    ksmchcom
    #save_sqlplus_settings.sql -reset sqlplus settings
    set termout off
    store set sqlplus_settings replace
    clear breaks
    clear columns
    clear computes
    set feedback off
    set verify off
    set termout on
    set define "&"
    #restore_sqlplus_settings.sql -reset sqlplus settings
    set termout off
    @sqlplus_settings
    clear breaks
    clear columns
    clear computes
    set termout on
    i.Check the shared pool reserved size status
    SELECT free_space, avg_free_size, used_space, avg_used_size, REQUEST_MISSES, request_failures, last_miss_size FROM v$shared_pool_reserved;
    An ORA-04031 error referencing large failed requests, indicates the Reserved Area is too fragmented. The reserved pool is small when: REQUEST_FAILURES > 0 (and increasing), The DBA should Increase shared_pool_reserved_size and shared_pool_size together. It is possible that too much memory has been allocated to the reserved list. The DBA should Decrease shared_pool_reserved_size, If: REQUEST_MISS = 0 or not increasing
    FREE_MEMORY = > 50% of shared_pool_reserved_size minimum
    col free_space for 999,999,999,999 head “TOTAL FREE”
    col avg_free_size for 999,999,999,999 head “AVERAGE|CHUNK SIZE
    col free_count for 999,999,999,999 head “COUNT”
    col request_misses for 999,999,999,999 head “REQUEST|MISSES
    col request_failures for 999,999,999,999 head “REQUEST|FAILURES”
    col max_free_size for 999,999,999,999 head “LARGEST CHUNK”
    select free_space, avg_free_size, free_count, max_free_size, request_misses, request_failures from v$shared_pool_reserved;
    TOTAL FREE     AVERAGE
    CHUNK SIZE     COUNT     LARGEST CHUNK     REQUEST
    MISSES     REQUEST
    FAILURES
    7,238,192     212,888     34     212,888     0     0
    You should also use hidden and unsupported parameter “_shared_pool_reserved_pct” to control reserved pool. This parameter controls the allocated percentage of shared pool for reserved pool. By default it is %5 of the shared pool and if you use ASMM for memory management you can set this value higher like 10 to allocate reserved pool dynamically. When you set the parameter you will see the shared_pool_reserved_size parameter will be adjusted to the new setting. The parameter can not be modified when instance is started. You can use the query below to see the current value
    select a.ksppinm “Parameter”, b.ksppstvl “Session Value”, c.ksppstvl “Instance Value” from sys.x$ksppi a, sys.x$ksppcv b, sys.x$ksppsv c where a.indx = b.indx and a.indx = c.indx and a.ksppinm = ‘_shared_pool_reserved_pct’;
    Parameter     Session Value     Instance Value
    sharedpool_reserved_pct     10     10
    j.When having multiple subheaps:
    select KSMCHIDX, ksmchcom ChunkComment,
    decode(round(ksmchsiz/1000),0,'0-1K', 1,'1-2K', 2,'2-3K', 3,'3-4K',4,'4-5K',5,'5-6k',6,'6-7k',7,'7-8k',8,'8-9k', 9,'9-10k', '> 10K'), count(*), ksmchcls Status, sum(ksmchsiz) Bytes
    from x$ksmsp where KSMCHCOM = 'free memory' group by KSMCHIDX,ksmchcom, ksmchcls, decode(round(ksmchsiz/1000),0,'0-1K', 1,'1-2K', 2,'2-3K', 3,'3-4K',4,'4-5K',5,'5-6k',6,'6-7k',7,'7-8k',8,'8-9k', 9,'9-10k','> 10K');
    SubPool     SGA_HEAP     CHUNKCOMMENT     size     COUNT(*)     STATUS     BYTES
    1     sga heap(1,0)     free memory     > 10K     34     R-free     7238192
    1     sga heap(1,0)     free memory     3-4K     2     free     6284
    1     sga heap(1,0)     free memory     > 10K     241     free     35707400
    1     sga heap(1,0)     free memory     8-9k     1     free     7712
    1     sga heap(1,0)     free memory     2-3K     4     free     6752
    1     sga heap(1,0)     free memory     0-1K     2090     free     133288
    1     sga heap(1,0)     free memory     9-10k     21     free     188676
    1     sga heap(1,0)     free memory     1-2K     30     free     25868
    If you see lack of large chunks it is possible that you can face with ORA-04031 in near future.
    k.Check shared pool at first glance quick diagnostics
    select 'You may need to increase the SHARED_POOL_RESERVED_SIZE' Description, 'Request Failures = '||REQUEST_FAILURES Logic
    from      v$shared_pool_reserved where      REQUEST_FAILURES > 0
    and      0 != (select      to_number(VALUE) from      v$parameter
    where      NAME = 'shared_pool_reserved_size')
    union
    select 'You may be able to decrease the SHARED_POOL_RESERVED_SIZE' Description,'Request Failures = '||REQUEST_FAILURES Logic
    from      v$shared_pool_reserved where      REQUEST_FAILURES < 5
    and      0 != (select      to_number(VALUE) from      v$parameter
         where      NAME = 'shared_pool_reserved_size')
    l.Memory Usage - object list level view
    •     Owner - Owner of the object
    •     Object - Name/namespace of the object
    •     Sharable Memory - Amount of sharable memory in the shared pool consumed by the object
    select OWNER, NAME||' - '||TYPE object,SHARABLE_MEM
    from      v$db_object_cache where SHARABLE_MEM > 10000
    and     type in ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE')
    order by owner asc ,SHARABLE_MEM desc
    SELECT * FROM (SELECT ROW_NUMBER () over (PARTITION BY NAMESPACE ORDER BY SHARABLE_MEM DESC) ROW_within , NAMESPACE, SHARABLE_MEM, SUBSTR(NAME,1,40) NAME FROM V$DB_OBJECT_CACHE ORDER BY SHARABLE_MEM DESC) WHERE ROW_WITHIN <= 2 ORDER BY NAMESPACE, ROW_WITHIN;
    ROW_WITHIN NAMESPACE SHARABLE_MEM NAME
    1 CLUSTER 2794 C_OBJ#_INTCOL#
    2 CLUSTER 1684 SMON_SCN_TO_TIME
    1 RSRCPLAN 5117 SYS_GROUP

  • G500 BIOS sucks Increase Shared Ram

    System:
    Lenovo G500
    windows 8.1 64-bit
    1TB
    8GB ram
    intel hd graphic 4000
    SO heres the deal->
    Intel Hd 4000 is capable of running new games with low specs. It does not have a dedicated video ram. But that can be done by increasing the shared memory from system ram in BIOS. Heres the sad part BIOS doesnt support this. Other manufacture like dell, hp , asus have given this option in BIOS to increase shared graphic memory from 64mb 128mb 256mb. 
    Lenovo please  upgrade BIOS 

    Intel HD Graphics are not meant to be game changers - It is good for business (Office Software) and streaming video (presentations), and watching movies (DVD, Netflix). Simple games - Mahjong, Card Games and similar software will run without issues, FPS and RPG and the like will suffer greatly not matter if you assign 256mb or 2gb of memory to it.
    When Intel gets into the dedicated graphics cards it will be the same deal as they believe most notebook users are business people not gamers.
    Either way you dish it up - go with a dedicated card for better game play. Even AMD's APU is better at gaming than Intel's HD line up.
    Cheers.

  • DB_ACTION_STATNEW - Error - How to increase shared memory in shadow instanc

    Hi all,
    We are facing the below error in the DB_ACTION_STATNEW phase:
    TRACE-INFO: 82:                                                                                13  4.822960
    TRACE-INFO: 83:  [developertra,00000]   WHERE TABNAME = :A0;                                           8  4.822968
    TRACE-INFO: 84:  [dbntab      ,06694]  ***LOG BY4=>sql error 604    performing SEL on table DDNTT
    TRACE-INFO: 85:                                                                                222  4.823190
    TRACE-INFO: 86:  [dbntab      ,06694]  ***LOG BY0=>ORA-00604: error occurred at recursive SQL level 1
    TRACE-INFO: 87:                        ORA-04031: unable to allocate 4120 bytes of shared memory ("shared pool","select t.ts#,t.file#,t.block...","Typecheck","seg:kggfaAllocSeg")
    TRACE-INFO: 88:                                                                                21  4.823211
    TRACE-INFO: 89:  [dbeh.c      ,00000]  *** ERROR => missing return code handler                       13  4.823224
    TRACE-INFO: 90:                         caller does not handle code 1 from dbntab.c[3718]
    TRACE-INFO: 91:                         ==> calling sap_dext to abort transaction
    HALT 20080410111303
    We have a physical RAM of 64 GB.
    dcecqv1:root > dmesg | more
    Apr 10 11:24
       $Revision: vmunix:    B11.23_LR FLAVOR=perf Fri Aug 29 22:35:38 PDT 2003 $
    Memory Information:
        physical page size = 4096 bytes, logical page size = 4096 bytes
        Physical: 66399504 Kbytes, lockable: 51408244 Kbytes, available: 59648572 Kbytes
    From the error message, I feel that I need to increase the shared memory, can you help me how to increase the shared memory now, bcos system is now running in the shadow instance.
    Thanks & Regards
    Senthil

    Thank you for your mail Shaji.
    SQL> show parameter shared_pool_size
    ORA-00604: error occurred at recursive SQL level 2
    ORA-04031: unable to allocate 4120 bytes of shared memory ("shared
    pool","select x.inst_id,x.indx+1,ks...","Typecheck","seg:kggfaAllocSeg")
    When I tried to see the shared_pool_size it gives the above error.
    Regarding the three log files:
    STATNEW.LOG
    LISTNEW.LOG
    DBSTATNEW.LOG
    - I didnot find STATNEW.LOG file in the path /usr/sap/put/log
    - supadm> cat DBSTATNEW.LOG
    1 ETQ201XEntering upgrade-phase "DB_ACTION_STATNEW" ("20080410111258")
    2 ETQ367 Connect variables are set for standard instance access
    4 ETQ399 System-nr = '02', GwService = 'sapgw02'
    4 ETQ399 Environment variables:
    4 ETQ399   dbs_ora_schema=SAPR3
    4 ETQ399   auth_shadow_upgrade=0
    4 ETQ389 reading file "LISTNEW.LOG" in directory "/usr/sap/put/log".
    4 ETQ275 Created SQL-script "EXSTATE.ORA"
    4 ETQ275 Created SQL-script "EXSTATC.ORA"
    4 ETQ276 Executing SQL-script "EXSTATE.ORA"
    4 ETQ001 START time "2008/04/10 11:12:58"
    4 ETQ399 ext. env.: DIR_LIBRARY=/usr/sap/SUP/SYS/exe/run
    4 ETQ399 ext. env.: LD_LIBRARY_PATH=/usr/sap/SUP/SYS/exe/run:/opt/java1.5/jre/lib/IA64N:/opt/java1.5/jre/lib/IA64N/server:/opt/java1.5/jre/../lib/IA64N
    4 ETQ399 2008/04/10 11:12:58: put_execute: (tp) forkpid:2537
    4 ETQ002 END   time "2008/04/10 11:13:03"
    4 ETQ278 Errors during execution of SQL-script "EXSTATE.ORA"
    1EETQ203 Upgrade phase "DB_ACTION_STATNEW" aborted with errors ("20080410111303")
    supadm>
    supadm> tail LISTNEW.LOG
    NAME= WTY_OBJNR_INDEX
    NAME= WTY_PARTNER_TAB
    NAME= WTY_RCLHST
    NAME= WTY_RCLOBJ
    NAME= WTY_RELOB_TAB
    NAME= WTY_RELOB_TAB_TX
    NAME= WTY_TABLE_ALV
    NAME= WYT2M
    tp_exec_dbscript: 1 statement(s) successfully processed.
    supadm>
    Can u pl help
    Thanks
    Senthil

  • 10.10.1  I use sysctl.conf to increased shared memory.  10.10.1 does not read sysctl.conf anymore

    I need to increase shared memory.  In 10.10  is use /etc/sysctl.conf with a line   kern.sysv.shmmax=16777216 and this works.  Also in 10.9.  But in 10.10.1 shared memory can no longer be increased from the default 4194304 by this means.
    The question is simple:   how in 10.10.1 does one increase kern.sysv.shmmax  in a way that survives a re-boot

    I have the same problem on my windows 2003 server but the
    thing is that I have not been able to get the same error on any
    other machine including a windows 2003 I installed on VMWare on the
    same machine. I have narrowed down to where in the encoder this
    happens. The encoder uses page file backed file maps to register
    session information. The call to MapViewOfFileEx method of the
    Win32 API fails with the "access denied" error. Whatever it is,
    it's due to some defect in the Windows installation I have because
    I do not get that message on any other windows installation even
    the ones I do with the same windows CD !
    I am still trying to find out what the defect might be but I
    thought you should know it's got nothing to do with you Windows
    make and model...it happens for me on 2k3 and for you on XP...so
    you should looke elsewhere..

  • How to add new increase the pool rather then trowing a error.

    Im trying to build a game and after many attempts and hours of thinking i did manage to create something that looks like a game.The problem now is that there are so many objects that are constantly creating and removing from the stage. that the game is starting to slow down(it is laggy.).So i have searched the net and understood that i will have to use a "Object pooling Method" rather than creating and removing the objects after i dont have any use of them any more, if i want to make the game more memory friendly.
    At first i didnt want to use this method (object pooling) ,but after a while i understood that i dont have a lot of options.So i started to search how and why and how.
    Yet in this example im just trying this for the bullets (for now) cause if i can do it for them, i can manage to do it for other objects and projects (it will be simple for me to understand what is happening ., what am i doing , when do i add an existing object from the pool and when im creating a new one(when there are non left, things like this)
    i did copy some part of this code from a tutorial that i found in the net but , from then i dont know how to increase the pool rather than throwing this error. I did try to create a new object or to increase the pool length but .... it is not working so im sure that im not doing something the way it must be done.
    so i have this so far :
    its a "simple" pool that calls a simple shape class (circle dot) and gives that to the main stage when the "SPACE" button is pressed
    package
              import flash.display.Sprite;
              import flash.events.Event;
              import flash.display.Bitmap;
              import flash.display.BitmapData;
              import flash.display.Shape;
              public class Bullet extends Sprite{
                        public var  rectangle:Shape = new Shape();
                        public function Bullet(){
                                  super();
                                  addEventListener(Event.ADDED_TO_STAGE, init);
                                  graphics.beginFill(0xFF0000);
                                  graphics.drawRect(-5, -5, 10,10);
                                  graphics.endFill();
                        private function init(event:Event):void{
    the SpritePool where i cant figure out how to replace the throw new error with some new code that will increase the pool
    package {
              import flash.display.DisplayObject;
              public class SpritePool {
                        private var pool:Array;
                        private var counter:int;
                        public function SpritePool(type:Class, len:int) {
                                  pool = new Array();
                                  counter = len;
                                  var i:int = len;
                                  while (--i > -1) {
                                            pool[i] = new type();
                        public function getSprite():DisplayObject {
                                  if (counter > 0) {
                                            return pool[--counter];
                                  } else {
                                            throw new Error("You exhausted the pool!");
                        public function returnSprite(s:DisplayObject):void {
                                  pool[counter++] = s;
    and the Game class (the documents class)
    package {
              import flash.ui.Keyboard;
              import flash.display.Sprite;
              import flash.events.Event;
              import flash.events.KeyboardEvent;
              import flash.display.Bitmap;
              import flash.display.BitmapData;
              import flash.display.Shape;
              public class Game extends Sprite {
                        private var ship:Shape;
                        private var bullets:Array;
                        private var pool:SpritePool;
                        public function Game() {
                                  Assets.init();
                                  addEventListener(Event.ADDED_TO_STAGE, init);
                        private function init(event:Event):void {
                                  pool = new SpritePool(Bullet,10);
                                  bullets = new Array();
                                  ship = new Shape();
                                  ship.graphics.beginFill(0xFF00FF);
                                  ship.graphics.drawRect(0,0, 60, 60);
                                  ship.graphics.endFill();
                                  ship.x = stage.stageWidth / 2 - ship.width / 2;
                                  ship.y = stage.stageHeight - ship.height;
                                  addChild(ship);
                                  stage.addEventListener(KeyboardEvent.KEY_DOWN, onDown);
                                  addEventListener(Event.ENTER_FRAME, loop);
                        private function onDown(event:KeyboardEvent):void {
                                  if (event.keyCode == Keyboard.SPACE) {
                                            var b:Bullet = pool.getSprite() as Bullet;
                                            b.x = ship.x + ship.width / 2;
                                            b.y = ship.y;
                                            addChild(b);
                                            bullets.push(b);
                                            trace("Bullet fired");
                        private function loop(event:Event):void {
                                  for (var i:int=bullets.length-1; i>=0; i--) {
                                            var b:Bullet = bullets[i];
                                            b.y -=  10;
                                            if (b.y < 0) {
                                                      bullets.splice(i, 1);
                                                      removeChild(b);
                                                      pool.returnSprite(b);
                                                      trace("Bullet disposed");
    any suggestions/help how to do it

    To put you on the path (the errors/events needs formalization), here would be a quick example. Your pool class:
    package
              import flash.display.DisplayObject;
              public class SpritePool
                        private var pool:Array;
                        private var counter:int;
                        private var classRef:Class;
                        // public get to know what's left in the pool
                        public function get availableObjects():int
                                  return counter;
                        public function SpritePool(type:Class, len:int)
                                  classRef = type;
                                  pool = new Array();
                                  counter = len;
                                  var i:int = len;
                                  while (--i > -1)
                                            pool[i] = new classRef();
                        public function getSprite():DisplayObject
                                  if (counter > 0)
                                            return pool[--counter];
                                  else
                                            throw new Error("PoolExhausted");
                        public function returnSprite(s:DisplayObject):void
                                  pool[counter++] = s;
                        public function increasePool(amount:int):void
                                  counter += amount;
                                  while (--amount > -1)
                                            pool.push(new classRef());
                        public function decreasePool(amount:int):void
                                  if (counter >= amount)
                                            counter -= amount;
                                            pool.splice(counter - amount,amount);
                                  else
                                            throw new Error("PoolDecreaseFail");
    Now you'd need to be catching those errors. Again, the errors should be formalized or you could use events by extending IEventDispatcher. I kept it simple.
    Here would be the simple Bullet class I'm using:
    package
              import flash.display.Sprite;
              public class Bullet extends Sprite
                        private var bullet:Sprite;
                        public function Bullet():void
                                  var bullet:Sprite = new Sprite();
                                  bullet.graphics.beginFill(0xFF0000,1);
                                  bullet.graphics.drawCircle(-5,-5,10);
                                  bullet.graphics.endFill();
                                  addChild(bullet);
    Just draws a red circle just to visualize it..
    Here would be a full example of using it. It will import both of these classes (saved as SpritePool.as and Bullet.as in the same folder). Paste this in the actions panel on frame 1:
    import SpritePool;
    import Bullet; // a simple red 10px circle
    import flash.display.Sprite;
    import flash.utils.setTimeout;
    // fill the pool, swim trunks optional
    var pool:SpritePool = new SpritePool(Bullet, 10);
    // grab some objects from the pool
    // array of currently held objects
    var myBullets:Array = new Array();
    while (pool.availableObjects > 0)
              myBullets.push(pool.getSprite());
    // display in random positions
    for (var i:int = 0; i < myBullets.length; i++)
              addChild(myBullets[i]);
              // position
              myBullets[i].x = int(Math.random()*stage.stageWidth);
              myBullets[i].y = int(Math.random()*stage.stageHeight);
    trace("myBullets has " + myBullets.length + " bullets! pool has " + pool.availableObjects + " left.");
    // now I want one more, but I should check for errors
    try
              // fail, none left!
              myBullets.push(pool.getSprite());
    catch (e:*)
              // this should be a custom event, but for speed, quick and dirty
              if (e == 'Error: PoolExhausted')
                        trace("D'oh no more bullets! I need more!");
                        pool.increasePool(10);
                        trace("Added 10 more, now available in pool " + pool.availableObjects);
    // try to reduce the pool by 15, which should error
    try
              pool.decreasePool(15);
    catch (e:*)
              // again should be a formal error
              if (e == 'Error: PoolDecreaseFail')
                        trace("Oops, can't reduce pool by 15! Let's trim all extras, available is " + pool.availableObjects);
                        // we know it'll work, no error checking
                        pool.decreasePool(pool.availableObjects);
                        trace("Left in pool: " + pool.availableObjects);
    // now lets wait 5 seconds and remove it all back to the pool
    setTimeout(ReturnToPool,5000);
    function ReturnToPool():void
              // now let's just return all the objects to the pool
              while (myBullets.length > 0)
                        removeChild(myBullets[myBullets.length - 1]);
                        pool.returnSprite(myBullets.pop());
              // now check the pool, should have 10
              trace("Amount of bullets in use " + myBullets.length + ", in pool " + pool.availableObjects);
    For ease you can just download my example source (saved down to CS5).
    Anything from here is just symantics. For example instead of throwing an error because the pool is too small you could simply increase the pool by a fixed amount yourself and return the objects requested.
    To keep objects as low as possible you could use a timer to measure the amount of objects in use over a duration and reduce the pool appropriately, knowing the pool will grow as it needs.
    All of this is just to avoid unnecessary object creation.
    BTW here's my trace which should match yours:
    myBullets has 10 bullets! pool has 0 left.
    D'oh no more bullets! I need more!
    Added 10 more, now available in pool 10
    Oops, can't reduce pool by 15! Let's trim all extras, available is 10
    Left in pool: 0
    (after 5 seconds)
    Amount of bullets in use 0, in pool 10

  • How much Ram do I need in a MacBook Pro for Software Engineering?

    I plan to buy a new MacBook Pro in the next month for school and hopefully for work. I would like this computer to get me at least 4 years of use. I will be majoring in software engineering. My question is how much ram would I need in a Macbook Pro for software engineering? I am currenty looking at the 15" 2.3ghz base model with 8gb of ram as well as the 15" 2.4ghz base model retina. I really like the retina but its at my max budget. Will the 8gb of ram be enough since it is not upgradable? Any help will be greatly appreciated.

    I am currenty looking at the 15" 2.3ghz base model with 8gb of ram
    The MB Pro 15" 2.3Ghz with 8GB of RAM should do the trick.
    Save your $$$ on the retina and stick to your budget 

  • Need to migrate Shared services users and groups from 9.3.1 to 11.1.2.2 ver

    Hi All,
    We need to migrate Shared services users and groups from 9.3.1 to 11.1.2.2 version. Any help would be appreciated. Can we use CSS import export utility?
    Thanks in advance!!

    Hi John, In my another environment I have to migrate the users and groups from Hyperion HSS 11.1.1.2 to Hyperion shared services 11.1.2.2. I am using LCM for that, when I export the users and gropus from 11.1.1.2, it exports fine but when i import it to my 11.1.2.2 using LCM, I am getting the below errors.
    Error when I try to import the groups:
    ErrorEPMIE-00051: Failed to perform operation on role. Could not locate role matching filter {0} and filter attribute {1}. Please ensure that a role exists matching the filter with filter attribute.
    EPMIE-00024: Failed to import all of the membership info for group test group. Invalid group members encountered. Please ensure the validity of members and its existence in their respective providers.
    Errors when i try to import the users:
    ErrorEPMIE-00051: Failed to perform operation on role. Could not locate role matching filter {0} and filter attribute {1}. Please ensure that a role exists matching the filter with filter attribute.
    EPMIE-00020: Failed to update user 04668162 during import. Invalid identity for user. Please ensure that the user is available in the system with the identity specified in the import file.
    Any idea?
    Thanks in advance.

  • Increase MDB pool size

    Hi.
    Is there anyway to increase the pool size for a message driven bean (ejb3) in Netweaver CE 7.1?
    Can this be done through the NWA application?
    Regards,
    Andrew

    You can do this on design-time if you specify the properties InitialSize, MaxSize & ResizeStep in ejb-j2ee-engine.xml of your application:
    <enterprise-bean>
       <bean-props>
          <property>
             <property-name>MaxSize</property-name>
             <property-value>1000</property-value>
          </property>
          <property>u2026</property>
       </bean-props>
    </enterprise-bean>
    Check also the reference about the properties: http://help.sap.com/saphelp_nwce10/helpdata/en/44/ee019ab68d27dfe10000000a1553f6/content.htm
    BR, Sergei

  • How much RAM will I need?

    Considering buying a Macbook Pro, but I wanted to ask around and find out approximatly how much RAM I would need so that I dont get a model thats too powerful or too weak for my usage. I was considering 4 Gbs but im not sure if thats enough.
    What im mainly planning to do on the Macbook is:
    internet browsing (chrome, safari etc)
    Mail app
    Word processing software like Microsoft word
    Eclipse (java programming)
    skype
    utorrent
    Say I have all these programs running at the same time, how much RAM will I need to have?

    Oh also, I just remembered wanting to ask this, have you ever tried downloading an OS update for a macbook and apple wont let you because you have outdated technology? Like trying to download ios 7 on an iphone 3G for example.
    I've had that exact problem - someone gave me what was, supposedly, an iPhone 4s but turned out to be a 3Gs. Couldn't update to iOS 7.x so it just sits on my desk right now.
    And when I had my MacBook Pro (1,1 2006 model) I couldn't upgrade to Lion - was 'stuck with' Snow Leopard.
    O'd technology that no longer plays nice with new OS's? Time to get a new machine.
    Clinton
    Message was edited by: clintonfrombirmingham

  • How much RAM do I need to use Mavericks?

    Happy am I with my iMac from mid-2011.  With 4 GB of RAM, it runs Mac OS X v10.8.5 well.  :-)
    Daily I use my iMac to work the crossword puzzles from the New York Times, to send & to receive email, and to watch Rush Limbaugh.
    I _know_ that I must Upgrade to Mavericks _someday_ but for example, how much more RAM would I need?  Thank you.
    P. S.  I wrote, "I must Upgrade to Mavericks someday" because I need to keep current.  But _rarely-indeed_ do I need help [with my iMac  :-) ].

    The requirement is a minimum of 2 GBs. A minimum of 15 GBs of free space on the hard drive.
    Upgrading to Mavericks
    You can upgrade to Mavericks from Lion or directly from Snow Leopard. Mavericks can be downloaded from the Mac App Store for FREE.
    Upgrading to Mavericks
    To upgrade to Mavericks you must have Snow Leopard 10.6.8 or Lion installed. Download Mavericks from the App Store. Sign in using your Apple ID. Mavericks is free. The file is quite large, over 5 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
          Macs that can be upgraded to OS X Mavericks
             1. iMac (Mid 2007 or newer) - Model Identifier 7,1 or later
             2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) - Model Identifier 5,1 or later
             3. MacBook Pro (Mid/Late 2007 or newer) - Model Identifier 3,1 or later
             4. MacBook Air (Late 2008 or newer) - Model Identifier 2,1 or later
             5. Mac mini (Early 2009 or newer) - Model Identifier 3,1 or later
             6. Mac Pro (Early 2008 or newer) - Model Identifier 3,1 or later
             7. Xserve (Early 2009) - Model Identifier 3,1 or later
    To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
         Are my applications compatible?
             See App Compatibility Table - RoaringApps.

Maybe you are looking for