如帖分析,600错误是oracle内部bug造成的,有可能是环境问题,有可能是oracle版本问题,如果是版本太低先打补丁。
查询oracle版本: select * from v$version;
 
对于这样的问题,可参照一下步骤解决
1、先定位失效索引
   SELECT object_name FROM dba_objects   WHERE object_id ='string';//堆栈中[string]列
      SELECT index_name FROM dba_indexes WHERE table_name='object_name ';
 
2、查看索引是否失效
     select index_name,status from user_indexes where index_name='index_name'; // status=vaild/useable 表示索引正常
 
3、rebulid方式重建索引
      alter index [index_name] rebuild;
 
4、测试后如果还出现同一索引失效,则采用drop,create方式重现索引
      drop  index index_name;
      create index........(具体语句先查询原表创建索引语句,照着执行一遍即可)
    
5、注意如果drop掉表后要重置Z表