--índice oracle
--listar indice que estão fora da tablespace indice
SET LINESIZE 200
SET PAGES 100
COL segment_name FORMAT a30
SELECT tablespace_name,count(*) indices FROM dba_indexes
WHERE owner=’USUARIO’ GROUP BY tablespace_name;
--montar comando de migração de índice
SELECT ‘alter index ‘||owner||’.'||index_name||’ rebuild tablespace NomeDaTableSpaceDeIndices;’
FROM dba_indexes
WHERE tablespace_name = ‘TableSpaceDados’;
-- Alterar o tablespace de indice
ALTER INDEX . REBUILD TABLESPACE;
Detalhe caso a tabela contenha campos do tipo BLOB, você terá que mover também os indices LOB, mas o comando é um pouco diferente, abaixo o comando para mover os indices LOB:
-- Alterar o tablespace de indice
ALTER TABLE . MOVE LOB( ) STORE AS (TABLESPACE );
fonte: vou ficar devendo, copiei o script a muito tempo e não tenho mais a origem. Desculpas a quem escreveu.