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-4 starts with simply connecting to Oracle. To ensure I didn't lose any critical trace file pieces, I set my dump file size to unlimited. I then created a very simple table, named findme, to make it easy to find the SQL in the massive trace file. Just as I did in Figure 7-1, I executed the same SQL statement but altered an optimizer parameter. This should result in two child cursors. Then I executed a different SQL statement, which references the same findme table. I did this to show that different SQL statements will reference the same table handle. Finally, I performed the library cache dump and disconnected.
Figure 7-5. A library cache diagram based on the SQL run in Figure 7-4, which produced the trace file shown in Figure 7-6. The figure highlights the various library cache object attributes, such as buckets (14778), handles (456dbf90), mutexes (0x456dc044), cursors, child cursors, and their relationships.
Figure 7-5 is nearly identical to Figure 7-3, with the key exception that the contents are filled based on the SQL run in Figure 7-4, which produced the trace file shown in Figures 7-6 and 7-7. (The trace file was simply too large to place in a single figure.)
©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.
|