Skip to main content

What is PGA (Program Global Area) in Oracle Database?

  1. PGA
    The Program/ Process Global Area (PGA) is a private memory region that contains the data and control information for a server process. Only a server process can access the PGA. Oracle Database reads and writes information in the PGA on behalf of the server process.
    PGA stands for Process Global Area. This is memory reserved for each process that uses Oracle. It contains the context area. Oracle sets this area's size based on the values of the initialization parameters:
    OPEN_LINKS. The number of database links allowed open per user.
    DB_FILES. The number of database files allowed for the database (up to the value of MAX_DATAFILES).
    LOG_FILES. The maximum number of redo log file groups (up to the value of MAX_LOGFILES).
    The PGA also contains session-related information if MTS is not used.
    In environments where MTS is used, the session information is placed in the SHARED_POOL region of the SGA if the LARGE POOL (in Oracle8,8i and 9i) is not configured.
    This session information consists of the user's private SQL area and other session-specific data. The PGA will always hold the user's stack information. The section of the shared or LARGE POOL allocated for the user is called the UGA, which stands for Users Global Area.
    Another contributor to the memory footprint of each process is the size of the SORT_AREA_SIZE and SORT_AREA_RETAINED_SIZE parameters. When a process executes a sort memory, the size of SORT_AREA_SIZE is allocated to the user. If SORT_AREA_RETAINED_SIZE is also set, then this amount of memory is reduced to that value and allowed to grow to SORT_AREA_SIZE. If the sort requires more space than is specified in SORT_AREA_SIZE, the sort is broken into SORT_AREA_SIZED chunks, which are swapped out to disk as needed.h

Comments

Popular posts from this blog

Background Process in ORACLE Database

Background Process in ORACLE Database Database Writer Process (DBWn) Log Writer Process (LGWR) Checkpoint Process (CKPT) System Monitor Process (SMON) Process Monitor Process (PMON) Recoverer Process (RECO) Job Queue Processes Archiver Processes (ARCn) Queue Monitor Processes (QMNn) Database Writer Process (DBWn) The database writer process (DBWn) writes the contents of buffers to datafiles. The DBWn processes are responsible for writing modified (dirty) buffers in the database buffer cache to disk. Although one database writer process (DBW0) is adequate for most systems, you can configure additional processes (DBW1 through DBW9 and DBWa through DBWj) to improve write performance if your system modifies data heavily. These additional DBWn processes are not useful on uniprocessor systems. When a buffer in the database buffer cache is modified, it is marked dirty. A cold buffer is a buffer that has not been recently used according to the least recently used (LRU) algorith...

Using GREP in UNIX

How To Use grep Command In Linux / UNIX by  VIVEK GITE  on  AUGUST 2, 2007  ·  147 COMMENTS H ow do I use grep command in Linux? grep command searches the given file for lines containing a match to the given strings or words. By default, grep prints the matching lines. Use grep to search for lines of text that match one or many regular expressions, and outputs only the matching lines. The name, "grep", derives from the command used to perform a similar operation, using the Unix/Linux text editor ed: g/re/p grep command syntax grep 'word' filename grep 'string1 string2' filename cat otherfile | grep 'something' command | grep 'something' Use grep to search file Search /etc/passwd for boo user: $ grep boo /etc/passwd You can force grep to ignore word case i.e match boo, Boo, BOO and all other combination with -i option: $ grep -i "boo" /etc/passwd Use grep recursively You can search recursively i.e. read all files under each ...

A Hit Count Using Java Servlet's Session Tracking

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SessionTracker extends HttpServlet {         public void doGet(HttpServletRequest req,HttpServletResponse res)         throws ServletException,IOException         {                res.setContentType("text/html");                PrintWriter out=res.getWriter();                HttpSession session=req.getSession(true);                Integer count=(Integer)session.getValue("tracker.count");                if(count==null)       ...