当前位置:Gxlcms > 数据库问题 > oracle如何清除创建失败的索引

oracle如何清除创建失败的索引

时间:2021-07-01 10:21:17 帮助过:12人阅读

如果在出现问题的对象的数据库活动能停下来,则直接简单地执行如下语句即可:

connect as sysdba select dbms_repair.online_index_clean(<problem index object_id>) from dual; 

 

exit    

2)使用PL/SQL block调用dbms_repair包来清理

如果在出现问题的对象的数据库活动不能停下来,则如下的PL/SQL block来处理

 

注:加上dbms_repair.lock_wait表示不是立刻清理,需要不断的寻找资源锁,直到抢到为止

declare   isClean boolean; begin   isClean := FALSE;   while isClean=FALSE loop isClean := dbms_repair.online_index_clean(dbms_repair.all_index_id,                                           dbms_repair.lock_wait); dbms_lock.sleep(2);   end loop;   exception  when others then    RAISE;  end;

 

/    

--原文:http://blog.itpub.net/28218939/viewspace-2638333/

1)使用包dbms_repair包来清理

如果在出现问题的对象的数据库活动能停下来,则直接简单地执行如下语句即可:

1 2 3 connect as sysdba select dbms_repair.online_index_clean(<problem index object_id>) from dual;  exit

2)使用PL/SQL block调用dbms_repair包来清理

如果在出现问题的对象的数据库活动不能停下来,则如下的PL/SQL block来处理

注:加上dbms_repair.lock_wait表示不是立刻清理,需要不断的寻找资源锁,直到抢到为止

1 2 3 4 5 6 7 8 9 10 11 12 13 14 declare   isClean boolean; begin   isClean := FALSE;   while isClean=FALSE loop isClean := dbms_repair.online_index_clean(dbms_repair.all_index_id,                                           dbms_repair.lock_wait); dbms_lock.sleep(2);   end loop;   exception  when others then    RAISE;  end

人气教程排行