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.

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

Figure 6-3. The number of dirty buffers can be determined by issuing a simple v$bh-based query looking at the dirty column.

When a buffer is pinned, it cannot be replaced. Another way to look at pinning is as kind of an unofficial lock on a buffer. Since a buffer is not a relational structure, standard locking mechanisms do not apply. Pinning relates to a specific buffer, whereas latches or mutexes can control access to an entire group of buffers. Pinning can be used in conjunction with latching and locking to ensure the proper serialization, protection, and concurrency control are achieved.

Suppose you are a server process that is reading a row in a buffer. It would be extremely rude of someone to replace that specific buffer with another buffer while you were still accessing the row. It would be like you were reading a book, and someone saying, "Hey, let me see that!" and ripping it out of your hands. In fact, placing your hand on a book is a great picture of pinning a buffer. Whenever there is at least one hand on the book, then no other process can take the book away. Many processes can pin the same buffer (read the same book), but as long as one process has the buffer (the book) pinned, it cannot be replaced. When a free buffer's row is being queried, its status changes from free, to pinned, to free again. When a row in a free buffer is changed, its buffer status changes from free, to pinned, to dirty.

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