今天开发库在线创建一个索引,创建了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
再次删掉索引,成功。online rebulid index 异常终止遇到ORA-08104Oracle调用存储过程相关资讯 ORA-08104
- 细说ORA-08104错误 (11/22/2013 19:08:21)
- online rebuild index异常终止遇到 (10/22/2012 10:57:59)
| - online rebulid index 异常终止遇 (01/15/2013 09:07:33)
|
本文评论 查看全部评论 (0)