You were brought to this page based on an internet search
and as a free service to Oracle DBAs.
The text below is an except from the book,
Oracle Performance Firefighting, written by
Craig Shallahamer of
OraPub, Inc.
Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click
here.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
-------------------------------
* Code: This is the actual computer program code and is sometimes called text. For Oracle systems, the most critical piece of code is the oracle executable, $ORACLE_HOME/bin/oracle. The oracle executable should always be shared, so there are never multiple copies. When installing earlier versions of Oracle, we had to ensure the oracle executable was shared, or memory would be quickly exhausted.
* Data: This is private process memory (real or virtual). For most Oracle systems, a server process's PGA memory is stored in the data area. Think about it-the PGA is associated with a single server process. It is not meant to be shared, and contains process-specific information like session variables and in-memory sort information. If the Oracle architecture requires some of the PGA memory to be shared, it is moved out of the PGA memory and into the SGA. A resident set of memory, known as the resident set size (RES or RSS) is defined to contain only a process's real nonshared memory. We want any semiactive Oracle process to have its data memory contained within this RSS. The only way to be sure about a process's point-in-time RSS memory is to run an operating system- and vendor-specific command that requires a process ID, such as the pmap command. Commands like ps and even top are notorious for counting shared memory segments and nonresident portions of a process's related memory as the RSS.
* Stack: This is a relatively small (kilobytes usually) portion of an Oracle process's memory. The stack is used to push and pop process variables, and also to hold command-line arguments while they are being processed-that is, popped off the stack.5
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
|