Oracle21c ORA-29861 ドメイン索引にはLOADING/ FAILED/ UNUSABLE の対処方法

環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0

エラー現象
Caused by: java.sql.SQLException: ORA-29861: ドメイン索引にはLOADING/FAILED/UNUSABLEのマークが設定されています。

解決方法
ドメイン索引を確認します
SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
*
FROM
user_indexes
WHERE
INDEX_TYPE = 'DOMAIN'
AND DOMIDX_OPSTATUS <> 'VALID';
SELECT * FROM user_indexes WHERE INDEX_TYPE = 'DOMAIN' AND DOMIDX_OPSTATUS <> 'VALID';
SELECT
 *
FROM
  user_indexes 
WHERE
  INDEX_TYPE = 'DOMAIN' 
  AND DOMIDX_OPSTATUS <> 'VALID';

DOMIDX_OPSTATUSがFAILEDのインデックス名を確認します。

インデックスを削除します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
drop index "CFT"."IDX_USER"
drop index "CFT"."IDX_USER"
drop index "CFT"."IDX_USER"

インデックスを作成します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CREATE INDEX "CFT"."IDX_USER" ON "CFT"."USER_INFO" ("MEMO")
INDEXTYPE IS "CTXSYS"."CONTEXT" PARAMETERS ('REPLACE SYNC(ON COMMIT)')
CREATE INDEX "CFT"."IDX_USER" ON "CFT"."USER_INFO" ("MEMO") INDEXTYPE IS "CTXSYS"."CONTEXT" PARAMETERS ('REPLACE SYNC(ON COMMIT)')
CREATE INDEX "CFT"."IDX_USER" ON "CFT"."USER_INFO" ("MEMO")
INDEXTYPE IS "CTXSYS"."CONTEXT" PARAMETERS ('REPLACE SYNC(ON COMMIT)')

 

Oracle 21c

Posted by arkgame