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;
--转自