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.

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

Most Oracle systems today take advantage of Oracle AUM capabilities. By default, Oracle tries to assign only one active transaction per undo segment. If each undo segment has an active transaction and if there is space available in the undo tablespace, Oracle will automatically create an additional undo segment. This usually takes care of the buffer busy waits. However, if there is no more room in the undo segment tablespace, multiple transactions will be assigned to each undo segment, and eventually undo segment header contention will result. The solution is to add another database file to your undo segment tablespace, thus enabling Oracle to create additional undo segments. It's that simple.

Simply put, indexes are ordered structures. This ordering allows indexes to be used to quickly search. Any changes to the index must result in the order being maintained. If order is not maintained, searching could not occur quickly, and the index would be both worthless and corrupt. So order in an index must be maintained. This has profound performance implications.

While index ordering enables quick searching, in a high-concurrency insert situation, it can cause severe performance problems. For example, suppose an index is based on an increasing sequence number (for example, 1, 2, 3, and so on), which is commonly called a monotonically increasing value. If a table column contains this sequence number and that column is indexed, the respective index entries will be placed next to each other in an index leaf block. Why? Because an index must maintain sorted order, and this index is based on an ascending sequential number.

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