TEXT INDEX의 META DATA를 CTXSYS USER에서 삭제하는 방법
Oracle 2010. 9. 22. 16:21PURPOSE
--------------------------------------------------------------------------------------------------
Intermedia text 나 Oracle Text 를 사용할 때, Text index는 삭제되었는 데, meta data가 삭제되지 않은
경우가 생긴다. 이런 경우, 수동으로 meta data 까지 모두 삭제하는 방법을 알아보자.
Explanation
--------------------------------------------------------------------------------------------------
이 방법은 잘못되는 경우 CTXSYS user를 다시 초기화 해야하는 문제가 발생할 수 있으므로 이를 감안하여
작업해야 한다.
수동으로 삭제하는 방법은 다음과 같은 절차를 이용하여 작업할 수 있다.
1. 먼저 해당 user에서 다음과 같은 command로 index를 drop 해 본다.
SQL> drop index INDEX_NAME force;
2. drop command로 drop이 정상적으로 되지 않으면 다음과 같이 실행한다.
sqlplus ctxsys/ctxsys
select idx_id from dr$index where idx_name='<TEXT_INDEX_NAME>';
=> 조회된 index id가 1092 인 경우 아래와 같이 실행한다.
delete from dr$index_value where IXV_IDX_ID = 1092;
delete from dr$index_object where IXO_IDX_ID = 1092;
delete from dr$index where idx_id = 1092;
commit;
3. Text index를 생성한 user에서 DR$<index_name>$i 이름의 TABLE을 모두 다음과 같이 drop한다.
SQL> drop table dr$<index_name>$i;
SQL> drop table dr$<index_name>$k;
SQL> drop table dr$<index_name>$n;
SQL> drop table dr$<index_name>$r;
4. 이제 해당 Text index를 다시 생성하면 된다.
Reference Documents
--------------------------------------------------------------------------------------------------
<Note:133482.1>
'Oracle' 카테고리의 다른 글
DB Link를 이용한 Query에서 실행계획이 Poor Plan이 되는 문제 (0) | 2010.12.15 |
---|---|
[ORA-28002] 사용자 계정의 암호가 만기될 것입니다. (0) | 2010.09.29 |
UGA MEMORY LEAK 에러인 ORA-600[729] ERROR에 대한 이해 (0) | 2010.09.20 |
인증되지 않은 TOOLS 의 ACCESS 제한하기 (1) | 2010.09.16 |
Oracle PL/SQL의 User Function에서 Boolean Return (0) | 2010.09.10 |