본문 바로가기
oracle

[ORACLE] ORA-30556 : 함수 또는 비트맵 조인 인덱스가 수정할 열에 정의되어 있습니다. 컬럼 사이즈 변경 에러

by 둥구리둥둥 2022. 9. 21.
728x90
반응형


 
1. 문제

특정 테이블의 컬럼 사이즈 변경 시
  - TEST_TABLE 테이블의 TEST_TABLE_IDX02는 function-based 인덱스는 ("A" DESC) 으로 되어있어서 컬럼 속성 변경시 문제가 발생 할 수 있습니다. 

EX>
SQL> ALTER TABLE TEST_TABLE MODIFY A VARCHAR2(128);
ERROR at line 1:  ORA-30556: either functional or bitmap join index is defined on the column to be modified 
 
2. 해결 방법
1) 에러가 발생한 함수 기반 인덱스를 제거 합니다.
SQL>DROP INDEX TEST_TABLE_IDX02;
2) 테이블 컬럼 속성 변경
SQL>ALTER TABLE TEST_TABLE MODIFY A VARCHAR2(128);
3) 테이블 함수 기반 인덱스 다시 추가 합니다.
SQL> CREATE INDEX TEST_TABLE_IDX02 ON  TEST_TABLE  ("A" DESC ) NOLOGGING  PARALLEL 4  ONLINE;
 

728x90
반응형