07 julho, 2014

Oracle - Migrar Objeto



--migrar tabela de schema
--uma tabela
ALTER TABLE nome_da_tabela MOVE TABLESPACE nome_do_novo_tablespace;
--todas as tabelas
SELECT 'ALTER TABLE nome_do_esquema.' || table_name || ' MOVE TABLESPACE nome_do_novo_tablespace;'
 FROM dba_tables
 WHERE
   owner = 'nome_do_esquema';
--migrar indice de schema
--um indice
ALTER INDEX nome_do_indice REBUILD TABLESPACE nome_do_novo_tablespace;
--todos os indices
SELECT 'ALTER INDEX nome_do_esquema.' || index_name || ' REBUILD TABLESPACE nome_do_novo_tablespace;'
 FROM dba_indexes
 WHERE
   owner = 'nome_do_esquema' AND
   index_type != 'LOB';
--migrar lob de schema
--um lob
ALTER TABLE nome_da_tabela MOVE LOB(nome_da_coluna_lob)
   STORE AS (nome_do_novo_tablespace);
--todos os lobs
SELECT
 'ALTER TABLE nome_do_esquema.' || table_name ||
 ' MOVE LOB( ' || COLUMN_NAME ||
 ' ) STORE AS (TABLESPACE nome_do_novo_tablespace);'
 FROM dba_tab_columns
 WHERE
   owner = 'nome_do_esquema' AND
   data_type LIKE '%LOB';




Fonte: vou ficar devendo tem um bom tempo que copiei o script e não tenho a fonte.

Nenhum comentário: