Home  >  Article  >  Database  >  ORA-08104错误解决

ORA-08104错误解决

WBOY
WBOYOriginal
2016-06-07 17:25:321222browse

重新创建索引,会告诉你该索引已经存在,drop index ,会告诉你该索引被锁,或者是 ORA-08104(this index object xxxxx is being

今天开发库在线创建一个索引,创建了1个多小时,还没有完成。强制取消后,删除索引报错

重新创建索引,会告诉你该索引已经存在,drop index ,会告诉你该索引被锁,或者是 ORA-08104(this index object xxxxx is being online built or rebuilt) 错误。

该过程失败之前创建的一些临时对象由 SMON 负责清除,,糟糕的是, SMON 可能会不作为--我在 9i 上观察是 2 个小时(周期?)才清除掉。

在 10g 版本, Oracle 的 DBMS_REPARE 包新增了: online_index_clean ,能够手工进行清除:

dbms_repair.online_index_clean(
object_id    IN BINARY_INTEGER DEFAULT ALL_INDEX_ID,
wait_for_lock IN BINARY_INTEGER DEFAULT LOCK_WAIT)
RETURN BOOLEAN;

SQL> declare
  2    done boolean;
  3  begin
  4    done:=dbms_repair.online_index_clean(194884);
  5  end;
  6  /
PL/SQL procedure successfully completed.
 
Elapsed: 00:00:00.43
 
再次删掉索引,成功。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn