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.
-------------------------------
Figure 7-13. Shown is the OSM script, spspinfo.sql, which shows basic information about the number and size of the shared pool subpools. In this example, three subpools exist.
Memory allocation is fairly straightforward. It follows a standard LRU algorithm combined with pinning and locking. When an Oracle process (server or background) requests memory, a portion of the Oracle's kernel called the heap manager is executed. While the details continue to change, the conceptual algorithm is pretty much the same.
Oracle processes ask for a specific amount of memory, which is transformed into multiple chunk-specific size requests. The heap manager searches for a single size chunk of memory that matches each request. Multiple chunks of memory, think noncontiguous, will not do. If the process requests 4KB of memory, the heap manager must return an address for a 4KB chunk of shared pool memory.
©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.
|