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-7. The second part of the trace file created by the SQL in Figure 7-4. This text is diagrammed in Figure 7-5. While no lines have been modified, many lines have been removed.
Because library cache objects are related to other library cache objects that are consuming chunks of memory, Oracle may deem it necessary to release an object's memory. It is possible for the handle to remain, but the actual memory chunk to have been deallocated. If this occurs, before the cursor can be reexecuted, the library object must be reloaded into the library cache. Oracle keeps track of these reloads in the reloads column from v$library_cache, and for specific object statistics, in the loads column in v$sql and v$sqlarea. If reloading becomes a significant problem, CPU parse time will increase, and shared pool and library cache latch or mutex contention are likely to become your top wait events.
The more I have learned about the library cache, the less I complain about shared pool issues. The library cache's complexity is daunting and should bring about a level of awe.
©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.
|