본문 바로가기

Oracle/Admin

[Oracle]ORA-08104

728x90

Online으로 큰 테이블 인덱스로 생성하다 예기치 못하게 세션이 끊기 거나 끊은 상황일 때, 

그 후 다시 생성하면 같은 이름의 오브젝트가 있다는 에러를 만날 수 있다. 

 

이때 해당 인덱스의 Drop 을 시도하면 다음과 같은 에러를 만나는데,

08104, 00000, "this index object %s is being online built or rebuilt"
// *Cause:  the index is being created or rebuild or waited for recovering 
//          from the online (re)build 
// *Action: wait the online index build or recovery to complete

 

다음과 같이 DBMS_REPAIR.ONLINE_INDEX_CLEAN 함수를 사용해서 해결할 수 있다.

DECLARE
    RetVal BOOLEAN;
    OBJECT_ID BINARY_INTEGER;
    WAIT_FOR_LOCK BINARY_INTEGER;
BEGIN
    OBJECT_ID := 415355;
    WAIT_FOR_LOCK := NULL;
    RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN (OBJECT_ID);
    COMMIT;
END;
/
728x90
반응형

'Oracle > Admin' 카테고리의 다른 글

[Oracle]GPnP(grid plug n play)  (0) 2024.08.14
[Oracle] PASSWORD_VERIFY_FUNCTION  (4) 2024.08.13
[Oracle] Row Size 구하기  (2) 2024.07.24
[Oracle] ora.diskmon offline  (0) 2024.07.15
[Oracle] Mutex  (0) 2024.06.14