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.

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

* Take a look at the requested block size and the number of blocks requested. If you are familiar with Oracle, you'll immediately notice that we are looking at an 8KB database, and Oracle is asking for 16 blocks at once. And you are correct if you guessed the instance parameter db_multiblock_read_count is 16!

Digging a little deeper, we can assert that all the requested blocks must have resided in memory (but not Oracle's buffer cache memory, since Oracle needed to request them from the operating system). We can make this assertion because a physical spinning IO device cannot return 16 nonsequential blocks (the blocks could be scattered over many physical devices) in less than a single millisecond!

Oracle's wait interface takes this timing information, gives the system call a special nonplatform-specific name, records the timing information, and makes this all available to us through its performance views. Regardless of the operating system or the actual system call, Oracle gives a multiblock IO call the special name db file scattered read, because these multiple blocks can be scattered over the IO subsystem. This Oracle-given name is more commonly called an event name, a wait event, or simply an event. From a performance analyst perspective, we tend to think of a multiple-block request as a sequential request, but looking at the IO call from a more kernel-centric perspective, it is more appropriate to name the request a scattered read.

©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!