Oracle Performance Firefighting
by Craig Shallahamer

Get the book here



Craig Shallahamer's Blog

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.
Please—Out 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.

-------------------------------

Oracle then takes this nonrecursive statement and dynamically creates the SQL necessary to insert rows into the data dictionary tables, such as tab$ and col$. This dynamically created SQL is indeed recursive SQL. However, consider the SQL shown in the following trace file snippet.

The true Oracle definition of recursive SQL is any SQL with a depth greater than zero. Notice the preceding PL/SQL entry has a depth of zero (dep=0) and therefore is officially deemed nonrecursive SQL. However, notice what happens when the select statement is run 500 times:

The depth is one (dep=1), which means Oracle considers this application SQL, recursive SQL. Therefore, all its related CPU time will be recorded as both recursive SQL and server process SQL (statistics CPU used by this session), plus there will be some related parse time CPU consumption. So, as you can see, we cannot simply subdivide total Oracle CPU consumption into the three exclusive categories of parsing, recursive SQL, and everything else. This also provides an answer to why recursive CPU consumption can seem strangely high!

©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out 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.


Know what's important before it's too late!

OraPub's
Performance Training

is like no other...





More Class Pics...
Get student testimonials!