SMON负责在启动后(startup)的每小时执行一次对IND$基表中因在线创建/重建索引失败所留下记录的清理。
注意因为SMON进程的清理工作每小时才执行一次,而且在工作负载很高的情况下可能实际很久都不会得到清理,在这种情景中我们总是希望能尽快完成对 索引的在线创建或重建,在10gr2以后的版本中我们可以直接使用dbms_repair.online_index_clean来手动清理online index rebuild的遗留问题:
- DECLARE
- RetVal BOOLEAN;
- OBJECT_ID BINARY_INTEGER;
- WAIT_FOR_LOCK BINARY_INTEGER;
- BEGIN
- OBJECT_ID := ;
- WAIT_FOR_LOCK := NULL;
- RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN();
- COMMIT;
- END;
- /