SGA, PGA and... little extra?

Will oracle process use some extra "non oracle" memory for OS related stuff?
Mean, not considering SGA, I connect a database process and I see:
SQL> select p.program,
  2  p.spid, pm.category, pm.allocated/1024 allocated, pm.used/1024 used, pm.max_allocated/1024 max_allocated
  3  from V$PROCESS p, V$PROCESS_MEMORY pm
  4  where p.pid = pm.pid
  5  and p.spid =2650;
                                                                                                        Max
                                                                          Allocated       Usedd   allocated
PROGRAM                        SPID                     CATEGORY                 Kb          Kb          Kb
oracle@uxlabhost11             2650                     SQL                      14           9          42
oracle@uxlabhost11             2650                     PL/SQL                   56          34          57
oracle@uxlabhost11             2650                     Other                  1501                    1501That's allocated PGA after having connected and done nothing else
So it somehow allocated 1.4 Mb upon start-up...
Now question is. Do oracle processes use OS memory which cannot be considered as SGA or PGA?
Reason being my trying to estimate memory needs for a database server. Many I've read correct formula should be SGA + max allocated PGA + some_extra_just_in_case...
Is there an estimate on how much that "some_extra_just_in_case" would be per process?
If OS dependent, I'm implementing on RHEL 6...
thanks

So, I've used pmap...
Got 257 enties in the form "4096K rw-s- /dev/shm/"
since we are using AMM , that should do for PGA and SGA ... some 1052672 Kb, which process is attached to...
yet pmap then continues to display other entries....
0000002a95557000      4K r-x--  /opt/oracle/product/11g/lib/libodm11.so
0000002a95558000   1024K -----  /opt/oracle/product/11g/lib/libodm11.so
0000002a95658000      4K rw---  /opt/oracle/product/11g/lib/libodm11.so
0000002a95659000      4K rw---    [ anon ]
0000002a9565a000    392K r-x--  /opt/oracle/product/11g/lib/libcell11.so
0000002a956bc000   1024K -----  /opt/oracle/product/11g/lib/libcell11.so
0000002a957bc000     40K rw---  /opt/oracle/product/11g/lib/libcell11.so
0000002a957c6000      4K rw---    [ anon ]
0000002a957c7000    864K r-x--  /opt/oracle/product/11g/lib/libskgxp11.so
.. TRUNCATED...
0000003fb810a000     64K rw---    [ anon ]
0000003fbbd00000     84K r-x--  /lib64/libnsl-2.3.4.so
0000003fbbd15000   1020K -----  /lib64/libnsl-2.3.4.so
0000003fbbe14000      4K r----  /lib64/libnsl-2.3.4.so
0000003fbbe15000      4K rw---  /lib64/libnsl-2.3.4.so
0000003fbbe16000      8K rw---    [ anon ]
0000007fbffde000    136K rwx--    [ stack ]
ffffffffff600000      4K r-x--    [ anon ]
total          1276452KNotice "total 1276452K"
So you saying non SGA/PGA would be 1276452 - 1052672?
That would be too much... yet if pmap another process, almost all flags (hex column) but [ stack ] are the same....
So how to tell which of those are shared and which are "exclusive" to the process, i.e: The "some extra just in case" mem...
thanks

Similar Messages

  • Queries regarding SGA, PGA and parsed SQL Queries

    Hi
    I am new to Oracle server architecture.
    Please correct me if am wrong.
    As per my understanding, the data that we retrieve from a SQL query is stored in SGA in Database buffer cache.
    I have some queries:
    1. Does the database buffer cache store only data from SQL queries or anything else also? What is its size? Can we set the size?
    2. Where are the parsed SQL queries stored - SGA or PGA? And where exactly? I want to know if all the users connected in an Instance have access to each other's parsed SQL queries?
    3. SGA is shared by all users in an Oracle Instance? PGA and UGA are local to a specific user in an instance? Is it correct?
    Thanks
    Abhi

    AB312062 wrote:
    Hi
    I am new to Oracle server architecture.
    Please correct me if am wrong.
    As per my understanding, the data that we retrieve from a SQL query is stored in SGA in Database buffer cache.
    I have some queries:
    1. Does the database buffer cache store only data from SQL queries or anything else also? What is its size? Can we set the size?
    2. Where are the parsed SQL queries stored - SGA or PGA? And where exactly? I want to know if all the users connected in an Instance have access to each other's parsed SQL queries?
    3. SGA is shared by all users in an Oracle Instance? PGA and UGA are local to a specific user in an instance? Is it correct?
    Thanks
    AbhiThe questions you have are all good ones, but require far too much to be explained (properly) in a forum such as this.
    I would highly recommend picking up a book by Tom Kyte and reading through that.
    Cheers,

  • SGA, PGA and SHMMAX Setting

    If I have set SHMMAX to 8GB (on 64bit linux) value, does that mean that my SGA+PGA values need to remain within 8GB limit? If my SGA size is 6GB and PGA size is 4GB, does that mean that my OS is going to allocate two shared memory segments?

    The SHMMAX parameter is used to define the maximum size (in bytes) for a shared memory segment and should be set large enough for the largest SGA size.
    http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_8.shtml
    http://books.google.co.in/books?id=2ImPFP6Yk64C&pg=PA357&lpg=PA357&dq=PGA+is+included+in+SHMMAX&source=bl&ots=On3S7-CEX0&sig=LhOYOO946hrPZh-cIUEzWNiwpRg&hl=en&ei=xyLOTJqaC4yYvAONm7T3Dw&sa=X&oi=book_result&ct=result&resnum=5&ved=0CCwQ6AEwBA#v=onepage&q&f=false
    Please close the thread as answered.

  • Analysis sga/pga growth

    Hi,
    We using oracle version 11.2.0.1 on AIX 6 and we using OEM.
    I am asked to gather last one week stats (high level and lower level in a day)for tablespace,SGA,PGA and resource_limit ,open_cursor parameter.
    How to collect it.Is there any query to find it ?
    Thanks,

    922884 wrote:
    Hi,
    Thanks for your repsonse.
    Architect asking that.
    Can i use DBA_HIST_SGA ,DBA_HIST_SGAstat for sga and DBA_HIST_TBSPC_SPACE_USAGE ,DBA_HIST_TABLESPACE_STAT for tablespace.
    could you tell for resource_limit and open_cursor.How to collect those values ?
    ThanksWhen you start with the wrong question, no matter how good an answer you get, it won't matter very much.
    Do you realize that OPEN_CURSOR is a per session limit?

  • Change a size of PGA and SGA

    Hi,
    I have a plan to increase size of PGA and SGA. Please recommend me which metric in Statspack report I should monitor to check what is the impact of such change.
    Best.

    Hi Lesak;
    Please check below 2 thread:
    How we size SGA
    Re: Estimating SGA Size
    SGA and PGA size
    SGA and PGA size
    Regard
    Helios

  • Difference between UGA, PGA and SGA in oracle

    please tell me what is the difference between UGA, PGA and SGA in oracle in the simple layman language
    thanx in advance

    UGA
    The User Global Area (UGA) is a memory area (RAM) that holds session-based information.
    Shared Server Area
    When running in [[Shared Server]] mode (MTS with shared servers and dispatchers), sessions can be served by multiple server processes. As a result, the UGA cannot be stored in the [[PGA]], and is moved to the [[SGA]] (shared global area).
    Dedicated Server
    When running in [[Dedicated Server]] mode (one session = one dedicated process), the UGA is stored in the [[PGA]] (process global area).
    i have question......
    how to check and monitor the cpu usage ,temporary and memory usage in db?
    ple could any body explain me.................
    Edited by: 821205 on Dec 20, 2010 7:59 AM

  • I have an iPod Touch 4th Generation 8gb which is still under warranty until December. I have alot of content on it and i have less then 1 gb left. Is it possible if i can give my iPod to Apple and get a 32 gb model and pay a little extra?

    I bought an iPod Touch from a friend with warranty. I mainly use it for games and videos but it takes up to much space. Is it possible if i give my iPod to Apple and pay a little extra, would i be able to recieve a 32gb model of the same generation?

    No, Apple does not take back used devices, you'll have to sell it by yourself and buy a new ipod after you have sold your old one.

  • What is the diffrence between PGA and UGA?

    Hi All
    Just one question
    "What is the diffrence between PGA and UGA?"
    Thanks

    PGA Memory
    The Program Global Area (PGA) is a memory region that contains data and control information for a single process (server or background). The PGA is made up of the following:
    Stack Space
    A PGA always contains a stack space, which is memory allocated to hold a session's variables, arrays, and other information.
    Session Information - (UGA)
    A PGA in an instance running without the multi-threaded server (named Shared Server in Oracle9i) requires additional memory for the user's session, such as private SQL areas and other information. If the instance is running the multi-threaded server, this extra memory is not in the PGA, but is instead allocated in the SGA (the Shared Pool).
    Shared SQL Areas
    Shared SQL areas are always in shared memory areas of the SGA (not the PGA), with or without the multi-threaded server.
    Non-shared and Writable
    The PGA is a non-shared memory area to which a process can write. One PGA is allocated for each server process; the PGA is exclusive to a server process and is read and written only by Oracle code acting on behalf of that process.
    UGA Memory
    The UGA, or User Global Area, is allocated in the PGA for each session connected to Oracle in a dedicated server environment. The PGA is memory allocated at the client to hold a stack which contains all of the session's variables, etc. In a Shared Server environment, Oracle allocates this memory in the Shapred Pool (the shared pool is contained in the SGA), for all sessions. This helps to reduce the PGA (client) memory footprint of Oracle, but will increase the SGA (shared pool) requirements.

  • SGA/PGA best practice

    With an XE limitation of 1GB for the PGA and SGA, how would one best preserve this limitation?
    In other words, how would one minimise the PGA and SGA usage via ones interface with Oracle?
    For instance, in a SQL query I was building I could either (The query has multiple aggregates on multiple tables in a 'one to many' join relationship):
    1) Use WITH clauses
    2) Use inline views
    3) Use standard views
    4) Use temporary tables
    5) Maybe more possibilities
    Without much of an insite into how Oracle 'works' it's difficult to gauge which of these is less 'resource hungry'.
    Possibly there is a reference on how to use the PGA & SGA efficiently?
    Or possibly a more definitive explanation on what's actually stored in these memory areas (rather than just 'prorgam' and 'system' data).
    Regards all,

    SGA is used in 2 main areas: parsing the SQL and avoiding disk reads by having stuff in memory. There is one SGA for all of XE instance.
    PGA is used heavily for sorting, hash joining and 'working stuff'. The PGA is created for each Dedicated Server process. Much of the PGA is inside the SGA for Shared Server processes
    SGA: (There are exceptions to each of these 'Rules Of Thumb' or 'ROT' statements)
    Good coding technique will allow reuse of SQL and avoid as much as possible reparsing;
    Use bind variables;
    Do not create SQL on the fly;
    Avoid dynamic SQL (concat strings to create SQL on the fly);
    Forget about tweakiing the buffer cache as it is mainly a performance thing that you can't do much about in XE;
    WITH clause is nice as it may reduce the count of subqueries;
    Leave it with 'automatic memory management' (again a perf hit, but it will attempt to optimize mem availability);
    Don't reinvent - Use the features that are loaded as they will likely get statements out faster, releasing memory faster;
    Stored Views may (often do) grab unneeded table data. When joining to stored views, see whether they can be replaced by cleaner code;
    Do not create SQL on the fly.
    PGA:
    Use shared server when feasible (at risk of performance hit);
    Global Temp Tables go into PGA, watch the use;
    Maximize reuabale SQL, minimze all other languages (remote or in DB) including PL/SQL;
    Watch for PGA wasters such as UNION vs the better UNION ALL, and unneeded sorts;
    PGA is 'swapped out' to Temporary tablespace. Make sure temp tablespace big enough ... it's not counted in the 4GB disk;
    Avoid using COMMIT except at end of transaction. Avoid COMMIT in loops. Make sure undo tablespace is big enough ... it's not counted in the 4GB disk ;
    Did I mention it's not a good idea to create SQL on the fly?

  • SGA/PGA (Memory) in RAC environment.

    Guys,
    I would like to get your inputs on SGA / PGA settings on a RAC database.. Does LMS/LMON/LMD process use memory which is part of PGA or these process allocate memory at OS level ?
    I would like to see the usage of Memory used by a database.
    below sql from Mr. Kyte's website i have used. Somehow i am not getting real usage of the system. Any help would be appreciated.
    Thanks
    select
    ssst.sid,
    stn.name ,
    round(ssst.value/1024/1024,2) memory ,
    USERNAME,
    COMMAND,
    OSUSER,
    MACHINE,
    TERMINAL,
    PROGRAM ,
    ssst.STATISTIC#
    from v$statname stn,v$sesstat ssst , v$session ses
    where stn.STATISTIC# = ssst.STATISTIC# and
    ssst.sid = ses.sid and
    name like 'session%pga%memory%'
    order by 3 asc ;
    Edited by: P explorer on Aug 28, 2009 9:56 PM

    From sql script, that get "session pga memory","session pga memory max" each of session in oracle database(on that node)
    You'll see
    sid: session id
    memory:
    if "session pga memory" = pga memory in this session now
    if "session pga memory max"= maximum pga memory in this session.
    program: os program name
    More deatails abour v$session http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2088.htm#REFRN30223
    If need to know all PGA size in that node
    "session pga memory":
    select
    round(sum(ssst.value)/1024/1024,2) memory
    from v$statname stn,v$sesstat ssst , v$session ses
    where stn.STATISTIC# = ssst.STATISTIC# and
    ssst.sid = ses.sid and
    name ='session pga memory';
    "session pga memory max":
    select
    round(sum(ssst.value)/1024/1024,2) memory
    from v$statname stn,v$sesstat ssst , v$session ses
    where stn.STATISTIC# = ssst.STATISTIC# and
    ssst.sid = ses.sid and
    name ='session pga memory max';
    Or if you need to check PGA memory all nodes (RAC)
    COLUMN username FORMAT A20
    COLUMN module FORMAT A20
    SELECT a.inst_id,
    NVL(a.username,'(oracle)') AS username,
    a.module,
    a.program,
    Trunc(b.value/1024) AS memory_kb
    FROM gv$session a,
    gv$sesstat b,
    gv$statname c
    WHERE a.sid = b.sid
    AND a.inst_id = b.inst_id
    AND b.statistic# = c.statistic#
    AND b.inst_id = c.inst_id
    AND c.name = 'session pga memory'
    AND a.program IS NOT NULL
    ORDER BY b.value DESC;

  • Oracle 11g SGA & PGA setup

    Hi I installed oracle 11g & create database , now i want to use fully optimize database.
    Currently my DB server RAM is 16GB, how should i allocate SGA for this.If i used oracle 11g automatic memeory management feature to allocate SGA+PGA, how should i use them.Currentlymy SGA is set to 4GB, Please advise

    Hi,
    It is depends upon the workload which you have in your organization(future and present situation)
    SGA+PGA size will be automatically managed by Oracle. No need to worry about this.
    If you need to increase Memory_Max_Size, you can also increase the Memory size in the future.
    Thanks

  • AWR SGA+ PGA usage

    Hi
    We're doing some performance testing on our database. The SGA is set to 1.5GB and PGA set to 0.5GB. At some point we are runnning out of memory as we ramp up the number of users and transactions .
    What I'm looking for is to graph the PGA and SGA usage seperately regular intervals (a line graph) showing their increaase as users ramp up.
    Anyone any ideas on how I can get this information whether through AWR or manually.
    Thanks in advance.

    You have not posted the version you are on. You should use automatic pga management and unset the values for areasize parameters (if there is no specific reason for keeping them).
    ORA-04030: out of process memory when trying to allocate 8389132 bytes (pga heap,redo read buffer)
    Doing block recovery for file 3 block 76812
    Resuming block recovery (PMON) for file 3 block 76812What are the OS level statistics of memory usage ?
    It simply means that Oracle (rather OS...as Oracle is also going to request memory from OS only) is running out of memory. Most common reason behind that is use of features like bulk collect without any limit clause which causes the pga memory to grow beyond pga_aggregate_target...and finally sucking all the memory available. Further requests for memory allocation start failing with ORA-04030.
    Also, please post the output from v$pgastat using tags.
    Edited by: amardeep.sidhu on Nov 24, 2010 9:29 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • SGA & PGA target

    Hi all,
    My questions is regarding how to set up SGA & PGA target values giving DB server is MS 2003 Enterprise 64 edition sever with 63 GB of RAM. Our DB’s version is 10.2.0.3 and RACed with 2 instances.
    Currently our setting for SGA is 23 GB and PGA is 4 GB. I ran the memory advisor it display different optimal values for those two instances (35 GB and 23 GB for SGA, 5 GB and 4 GB for PGA). Guess our db is not well balance loaded.
    I would like to know if there is any rule(s) that SGA can’t be more than certain percentage of total RAM for the server.
    Thanks a lot in advance.
    Have a great weekend!!
    Shirley

    Hi
    Here is my approach:
    1) consider free physical memory (meassure must be taken with Oracle down)
    2) substract a 10% of that amount as a margin
    3) if the box is exclusive for Oracle, the remaining amount may be your SGA+PGA limit
    4) if not is exclusive, then substract memory required for other services, then you'll get the SGA+PGA limit.
    5) Substract your PGA size, giving the SGA figure
    For instance
    59 Gb - 6 Gb = 53 Gb - 4 Gb = 49 Gb
    (63 Gb -4 Gb [estimated OS footprint + IO cache]) = 59 Gb free physical memory
    Setting PGA+SGA beyond the free physical memory figure, may lead to swaping and degraded system performance.
    Regards
    http://oracledisect.blogspot.com

  • Reg:-SGA & PGA Memory Allocation Size

    Hi all
    I Have a server System Configuration with
    RAM size: 16GB Ram & Hard disk Size of 1TB.
    I Installed Oracle 11g R2 in the server System
    I want to Allocate Dedicated Memory for oracle..
    How Should i calculate the Memory size of SGA+PGA for good Performance..

    Check MOS
    *How to calculate the memory used by dedicated and shared servers? [ID 551415.1]*

  • SGA & PGA concept

    We have a production Oracle 11g DB in which SGA_TARGET is 0 but ASSM is enabled but the documentation on Oracle says that if SGA_TARGET is 0 means that ASSM is disabled. Also, PGA_AGGREGATE_TARGET is 0 but Maximum PGA allocated is around 1 GB.
    I hope, my question is clear that concept seems to be confusing where SGA_TARGET is 0 but ASSM is enabled and also PGA_AGGREGATE_TARGET is 0 but maximum PGA allocated is 1 GB.
    Please revert with the reply to my query.
    Regards

    972145 wrote:
    Thanks for your reply but there is some confusion. ASMM is automatic shared memory management which seems to be similar to AMM which is automatic memory management. ASMM can be seen from OEM under Database Configuration->Memory Advisors. I guess, there is ASM which is automatic storage management to do with reduntant copies of data to provide fault tolerance.
    ASMM - 10g setting for the automatic SGA using the parameter sga_target .
    AMM - 11g setting for both SGA and PGA, uses the parameter memory_target
    ASM - Automatic Storage Management, nothing to do with SGA or PGA
    ASSM - Automatic Segment Space Management, for the tables and nothing to do with the PGA and SGA
    Aman....
    Edited by: Aman.... on Jan 21, 2013 3:53 PM corrected the typo

Maybe you are looking for

  • Airplay is not working after the latest update, whats wrong? Sound will not go to Apple TV or my Surround receiver

    Airplay is not working after the latest update, whats wrong? Sound will not go to Apple TV or my Surround receiver

  • Remove data from hard drive without startup CD?

    I have an old mac computer Tiger 10.4.1 which I am taking to be recycled. How do I erase or zero the hard drive? I do not have the original disk- the computer is 12 years old! This is just a personal computer but does have some sensitive data (one fi

  • Sync from ATV to Itunes

    Ok my ATV shoe in the device list and it is streaming. How do I get movies I have downloaded on ATV to Itunes? Is it suppose to be automatic? Because stuff that is on my ATV is not showing up in Itunes. I can sync from Itunes to ATV but I a can seem

  • Final Cut Pro 10.1 Running Super Slow?

    I have recently upgraded to Final Cut Pro 10.1 and its running incredibly slow. Before i upgrade i used to surf the web, be on iPhoto and Edit Video all day at the same time with no problems. Since Upgrading to 10.1 everything is at a crawling speed.

  • Convert from Hibernate to TopLink

    Hi, I would like to convert from Hibernate and Tomcat to TopLink and IAS with the latest version 10.1.3.1 that include the EJB3.0 and JPA. What is the effort that will be needed to for this convertion (mainly the Hibernate to Toplink convertion)? Do