Nada de mais aqui, pessoal. Só é algo que utilizei hoje para uma migração via Golden Gate, e guardo aqui para uso futuro.
Alterar todos os índices para UNUSABLE:
BEGIN FOR c IN (SELECT i.owner, i.index_name FROM dba_indexes i WHERE i.owner = 'SCOTT' AND i.index_type NOT IN ('LOB')) LOOP dbms_utility.exec_ddl_statement('alter index "' || c.owner || '"."' || c.index_name || '" unusable'); END LOOP; END; /
Executar REBUILD de todos os Índices:
BEGIN FOR c IN (SELECT i.owner, i.index_name FROM dba_indexes i WHERE i.owner = 'SCOTT' AND i.index_type NOT IN ('LOB')) LOOP dbms_utility.exec_ddl_statement('alter index "' || i.owner || '"."' || i.index_name || '" rebuild'); END LOOP; END; /