How to Cleanup and Rebuild an Interrupted Online Index Rebuild - ORA-8104 , ORA-8106
Last updated on OCTOBER 12, 2017
Applies to:Oracle Database - Enterprise Edition - Version 10.2.0.1 to 220.127.116.11 [Release 10.2 to 11.2]
Oracle Database - Enterprise Edition - Version 18.104.22.168 to 22.214.171.124 [Release 11.2]
Information in this document applies to any platform.
***Checked for relevance on 11-Jan-2016***
Sometimes an online rebuild of an index reports an ORA-8104.
There can be many reasons for that.
For instance in a highly active database with many transactions the likelyhood of uncommitted transactions on a table is high. So if such a table needs to rebuild an index we may see this error
due to uncommitted transactions. In other cases we may see a dead process with an uncommitted transaction holding a lock on the table. This also prevents us from rebuilding the index. This is
all by design of the online rebuild functionality. However, we can't leave a database in this state forever so SMON has been designed to cleanup these cases.
A process could end up dead if it has been killed from the OS with the command kill -9.
If the process was killed while doing an:
ALTER INDEX <ind> REBUILD ONLINE;
then the index could end up in a state where it needs clearing up.
One would think a drop of the index would solve the problem. However,
that will only return an error:ORA-8104 "This index object %s is being online built or rebuilt."
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms