|
The Program Global Area (PGA) is a memory region that contains data and control information for a server process. It is a nonshared memory created by Oracle whenever a server process is started and access to it is exclusive to that server process. Oracle code acting on behalf of the process is the only thing that has read or write access to the PGA. The PGA is allocated when the server process is started, and the total PGA memory allocated by each server process attached to an Oracle instance is referred to as the aggregated PGA memory allocated by the instance. Although the content of the PGA memory varies, depending on whether the instance is running the shared server option, the PGA memory can be classified as containing the private SQL area and work areas. Private SQL AreaThe private SQL area contains bind data information and runtime memory structures. Each connected user session that issues a SQL statement has its own private SQL area in the PGA regardless of its ability to use a single shared SQL area. The location of a private SQL area depends on the type of connection established for a session. A session connecting through a dedicated server has its private SQL areas located in the server process's PGA. A user session that connects through a shared server architecture is given a part of the private SQL area that is kept in the SGA.
SQL Work AreasFor large, long-running, complex queries (data warehouses or decision-support queries, for example), a big portion of the runtime area that they use is dedicated to work areas allocated by memory-intensive operators such as sort-based operators, hash joins, and bitmap merges or bitmap creation. A sort operator uses a work area (more commonly called the sort area) to perform the in-memory sort of a set of rows. Next, we look at processes. An Oracle instance contains several different categories and several different types of processes, and it is important that you understand them. |
|