Posted at

Oracle ORA-29861 ドメイン索引にはLOADING/ FAILED/ UNUSABLE のマークが設定されています。 対処方法

More than 1 year has passed since last update.

ORA-29861 対処 解決方法

ドメイン索引にはLOADING/ FAILED/ UNUSABLE のマークが設定されています。


ドメイン索引の確認

SELECT * FROM user_indexes WHERE INDEX_TYPE = 'DOMAIN' AND DOMIDX_OPSTATUS <> 'VALID';

これで

DOMIDX_OPSTATUSがFalseになってるやつを探す

STATUSがVALIDになっていてもだまされないのが大事


インデックスの作成に失敗してるので作り直す

DROP INDEX {hoge}

CREATE INDEX {hoge}


原因とか

要するにインデックスの作成に失敗してるというエラー

たちの悪いことにCREATEコマンドで作成時にエラーを吐いても使い物にならないインデックスだけが作成されている模様。

エラーならそもそも作られないでほしい・・・:cold_sweat:

私の場合インデックスの名前が長すぎるっていうエラーを吐いていた:head_bandage:

バッチで一斉作成するので気が付かなかった

CREATEのときにエラーがでるくせにインデックス自体は存在できてそれを参照しようとするからエラーになる