RE: Index Contention / Sequence Caching

From: Uzzell, Stephan <SUzzell_at_MICROS.COM>
Date: Mon, 17 Mar 2014 16:03:29 +0000
Message-ID: <>

Hi Riyaj,

I had actually seen your blog entry - that's what got me as far down the path as I made it.

I'm wondering though - you've made it pretty clear you don't think highly of reverse key indices. I understand that they can't be range scanned - but are there other minuses to them?

In this particular case, the PK isn't generally used by any queries against the table. Since there are no range scans involved, I'm wondering if that eliminates some (all?) of the negatives of a reverse key index?


Stephan Uzzell

From: Riyaj Shamsudeen [] Sent: Monday, 17 March, 2014 11:39
To: Uzzell, Stephan
Subject: Re: Index Contention / Sequence Caching

Hello Stephen,

If you had sequence caching issues, then the object number for the gc buffer busy event would be set to the object number of seq$ table.

This is a classic right-hand-growth-index-leaf-block contention. I have a blog entry:

Partitioning the index is probably the optimal solution. Of course, for heavily used sequences, you should increase the cache to much higher value even in a single instance.

Only if I don't have partitioning license, I would use reverse key indexes. Even then, reverse key indexes can induce few other problems, simply, avoid if possible.


Riyaj Shamsudeen
Principal DBA,
Ora!nternals -<> - Specialists in Performance, RAC and EBS Blog: Oracle ACE Director and OakTable member<>

Co-author of the books: Expert Oracle Practices<>, Pro Oracle SQL, <> Expert RAC Practices 12c.<> Expert PL/SQL practices<>

Received on Mon Mar 17 2014 - 17:03:29 CET

Original text of this message