Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Desabilite e depois habilite todos os índices de tabela no Oracle


Aqui está tornando os índices inutilizáveis ​​sem o arquivo:
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;

A reconstrução seria semelhante.