quarta-feira, 29 de janeiro de 2014

Oracle - Alteração de TableSpace

Para alterar o TableSpace de uma tabela:

ALTER TABLE NomeDaTabela MOVE TABLESPACE NomeNovoTablespace;  

Após a movimentação o(s) índice(s) deve(m) ser re-criado(s):

ALTER INDEX IndexName REBUILD COMPUTE STATISTICS; 

Para alterar o TableSpace de um Índice:

ALTER INDEX NomeDaTabela REBUILD TABLESPACE NomeNovoTablespace;  

Para gerar um script de alteração, pode-se usar:

SELECT 'ALTER TABLE NomeDoEsquema.' || table_name ||   
       ' MOVE TABLESPACE NomeNovoTablespace;'  
FROM dba_tables  
WHERE owner = 'NomeDoEsquema';  
   
SELECT 'ALTER INDEX NomeDoEsquema.' || index_name ||   
       ' REBUILD TABLESPACE NomeNovoTablespace;'  
FROM dba_indexes  
WHERE owner = 'NomeDoEsquema'   
AND index_type != 'LOB';

Dica obtida em: http://www.pierin.com/Publicacoes-13-banco_de_dados-.html

Nenhum comentário:

Postar um comentário