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.

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

It's the database writer's responsibility to write the dirty buffers to disk. Run this simple query:

You will notice the count cycling up and down. The cycling is the result of the application dirtying buffers while the database writer is writing them to disk, making them free buffers once again. This cycling is normal and what you want to see. If the count keeps going up and up, then you know the database writer is falling behind. It is common to have thousands of dirty buffers in a large production Oracle system.

Most of us have been taught that the database writers wake up every 3 seconds. I decided to see if this was true on an Oracle Database 11g system. Figure 6-23 is a snippet of the results. I started an Oracle Database 11g instance, placed no load on the system, and operating system traced the database writer. Notice the sleep time is just about 3 seconds and the system call is semtimeodop. If you recall from Chapter 3, when a server process sleeps during latch acquisition, it's because it issued a select system call. The select does not allow the process to be woken, but a semaphore call does. This is an important distinction, because the database writer may need to be woken up for a variety of reasons, such as a checkpoint or a free buffer waits event (described a little later in the "Free Buffer Waits" section). If you were to trace an active database writer process, you would see frequently occurring write-related system calls, as shown in Figure 6-24.

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