Tuesday, April 19, 2011

ORA-08104: this index object 85828 is being online built or rebuilt

Hi

in one of the incident while rebuilding the INDEX we found that other session is blocking the session which is trying to rebuilt the index

We saw that


---------- ----------
BLOCKING_STATUS
----------------------------------------------------------------------
40277 250
IKBBAT@ahc204 ( SID=250 ) is blocking SYS@ahc263 ( SID=189 )

SID 250 is blocking my id[189] which is trying to rebuild the index
 
 
so we killed the SYS session and after that we killed the other blocking session due to some issue
 
then we tried to rebuild the index and we faced the issue while rebuilding the index
 
SQL> conn / as sysdba


Connected.

SQL> alter index EMS_IKB_STAGE.TMP_POS_DATA_IX rebuild online;

alter index EMS_IKB_STAGE.TMP_POS_DATA_IX rebuild online
*
ERROR at line 1:
ORA-08104: this index object 85828 is being online built or rebuilt

so to solve the issue we did this.....
==========================
 
 
SQL> DECLARE

RetVal BOOLEAN;
OBJECT_ID BINARY_INTEGER;
WAIT_FOR_LOCK BINARY_INTEGER;

BEGIN
OBJECT_ID := 85828;
WAIT_FOR_LOCK := NULL;

RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN (OBJECT_ID);
COMMIT;
END;
/
PL/SQL procedure successfully completed.

and we ran the rebuilt and it went fine... :)
SQL> alter index EMS_IKB_STAGE.TMP_POS_DATA_IX rebuild online;