ora-29861: 域索引标记为loading/failed/unusable

ora-29861: 域索引标记为loading/failed/unusable    

出现这个错是:这是建有全文索引表的一个intermedia索引有问题,该索引要么没有正确建立,要么是某次同步失败导致它状态异常   只可以对数据查询,确不能更改

先查到是哪个索引:
Select idx_name,idx_status from ctxsys.ctx_indexes;
然后同步该索引或者删除它:
重建:alter index myindex rebuild online parameters('sync');
删除:drop index myindex force;

可以做一个存储过程定时检查索引的状态,如发现异常则删除重建

CREATE OR REPLACE Procedure p_checkindex Is
v_status Varchar2(20);

Begin
Select idx_status Into v_status from ctxsys.ctx_indexes Where idx_name = 'INFOBASE_CONTENT' And idx_owner = 'CMSUSER';

If v_status <> 'INDEXED' Then
execute Immediate 'Drop Index INFOBASE_CONTENT Force';
execute Immediate 'CREATE INDEX INFOBASE_CONTENT ON infobase(CONTENT) INDEXTYPE IS CTXSYS.CONTEXT';
End If;

End p_checkindex;

你可能感兴趣的:(Oracle,错误解决)