禁用并稍后启用Oracle中的所有表索引 [英] Disable and later enable all table indexes in Oracle
本文介绍了禁用并稍后启用Oracle中的所有表索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Oracle中的给定架构/数据库中禁用并随后启用所有索引?
How would I disable and later enable all indexes in a given schema/database in Oracle?
注意:这是为了使sqlldr运行更快.
Note: This is to make sqlldr run faster.
推荐答案
在没有文件的情况下使索引不可用:
Here's making the indexes unusable without the file:
DECLARE
CURSOR usr_idxs IS select * from user_indexes;
cur_idx usr_idxs% ROWTYPE;
v_sql VARCHAR2(1024);
BEGIN
OPEN usr_idxs;
LOOP
FETCH usr_idxs INTO cur_idx;
EXIT WHEN NOT usr_idxs%FOUND;
v_sql:= 'ALTER INDEX ' || cur_idx.index_name || ' UNUSABLE';
EXECUTE IMMEDIATE v_sql;
END LOOP;
CLOSE usr_idxs;
END;
重建将是类似的.
这篇关于禁用并稍后启用Oracle中的所有表索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文