Desenvolvimento de sistemas

Fernando Lino
E-mail: fernandolinox@gmail.com
Site: http://flinox.blogspot.com

quarta-feira, 20 de outubro de 2010

Oracle: Mover tabela ou indice para outra tablespace.

Quem nunca constatou ou cometeu aquele básico problema de criar um usuário novo no oracle e deixar a tablespace default do usuário como SYSTEM ( Tablespace do Oracle ) ? rs... abaixo o comando para mover as tabelas ou indices para um determinada tablespace, assim você remove os dados da SYSTEM e joga na tablespace correta.

-- Alterar tablespace de tabela

ALTER TABLE <OWNER>.<NOME_DA_TABELA> MOVE TABLESPACE <TABLESPACE>;


-- Alterar o tablespace de indice
ALTER INDEX <OWNER>.<NOME_DO_INDICE> REBUILD TABLESPACE <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 <OWNER>.<NOME_DA_TABELA> MOVE LOB(<NOME_DA_COLUNA_BLOB>) STORE AS (TABLESPACE <TABLESPACE>);

Um comentário: