운영 상태에서 인덱스를 생성, 변경시 online 옵션은 매우 유용하지만 가끔 의도치 않는 상황을 만들기도 한다.
의도치 않거나 혹은 의도해서 해당 프로세스를 kill 했을때 uncommit 된 트랜잭션이 정리가 되지 않는 상태로 오래 지속될수가 있다.
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
CREATE TABLE TEST_TAB(A INT, B VARCHAR2(10));
insert into TEST_TAB
select dbms_random.value(1,1000000), 'A'
from dual
connect by level < 1000000;
CREATE INDEX IDX_TEST ON TEST_TAB(A)online;
=> cancel
DROP INDEX IDX_TEST;
=> ORA-08104
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
아래처럼 수동으로 상태를 정리해주자.
declare
v_result boolean;
begin
v_result := DBMS_REPAIR.ONLINE_INDEX_CLEAN(73252); -- 인덱스의 object_id
end;
/
'생계 > OERR' 카테고리의 다른 글
ora 20001 1652 (0) | 2023.07.27 |
---|---|
ORA 02020 too many database link (0) | 2023.06.10 |
ORA-24962 connect string could not be parsed (0) | 2023.01.30 |
ORA-12801 error signaled in parallel query server %s (0) | 2023.01.23 |
ORA 1555 SNAPSHOT TOO OLD 에러에 대한 이해 (0) | 2023.01.20 |