ORA-08104: this index object 600628 is being online built or rebuilt
Mar 11, 2024
Merhabalar,
Oracle veritabanında online index drop ya da alter ederken işlem kesildikten sonra tekrar çalıştırıldığında arkada devam ediyormuş gibi aşağıdaki hatayı verir.
SQL> ALTER INDEX HR.IX_EMPLOYEE_ID REBUILD TABLESPACE USERS ONLINE PARALLEL 4 NOLOGGING;
Error at line 1
ORA-08104: this index object 600628 is being online built or rebuilt
Hatayı dbms_repair.online_index_clean kullanarak çözebiliriz. Bunun için hatada bize verilen object numarasını kullanmamız gerekiyor. Aşağıdaki şekilde object numarasından doğru index olup olmadığını sorgulayabiliriz.
SQL> select obj# ,name from obj$ where OBJ#=600628;
OBJ# NAME
- - - - - -
600628 IX_EMPLOYEE_ID
Object id’den index’i sorguladıktan sonra aşağıdaki şekilde dbms_repair.online_index_clean fonksiyonunu kullanarak hatadan kurtulabilriz.
SQL> declare
lv_ret BOOLEAN;
begin
lv_ret :=dbms_repair.online_index_clean(600628);
end;
/
Tekrar index drop ya da alter işlemini çalıştırdığımızda başarılı bir şekilde işlem gerçekleşecektir.
SQL> ALTER INDEX HR.IX_EMPLOYEE_ID REBUILD TABLESPACE USERS ONLINE PARALLEL 4 NOLOGGING;
Index altered.