ora-08104的处理记录
背景
** 在周末的时候,同事在对某个大表创建索引,由于服务器io较差,又未调整相关参数进行创建,导致20多分钟都还没完成。客户又反馈业务慢、卡,他就去点了取消,再次修改参数后创建提升无法创建。
** 我得到消息后,尝试重建抛出了ora-08104错误。
SQL> alter index xx rebuild online nologging paralle 12 tablespace xx; ORA-08104: 该索引对象 496645 正在被联机建立或重建
处理记录
** 通过object_id=496645 查询dba_objects可以看到这个对象正好是上面的索引
** 处理办法:
declare RetVal boolean; OBJECT_ID BINARY_INTEGER; WAIT_FOR_LOCK BINARY_INTEGER; BEGIN OBJECT_ID := 496645; WAIT_FOR_LOCK := NULL; RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN (); COMMIT; END;
**上面处理完成后再次创建索引就恢复正常,在此记录一下。
