Movimentação de tabela entre tablespaces no banco de dados Oracle

Tive que efetuar uma manutenção no banco de dados no qual fui requisitado a movimentar uma tabela de uma tablespace para outra. Para efetuar esta operação é importante observar os seguintes tópicos na tabela:
A tabela possui LONG, LOB ou ROWID ?
A tabela possui Oracle Advanced Queuing (AQ)?

Caso a tabela não possui essas características a movimentação é recomendada, caso contrário não. Sendo assim, segue um exemplo da movimentação de uma tabela para outra tablespace:

    Movimentação da tabela através do comando: ALTER TABLE <TABLE NAME to be moved> MOVE TABLESPACE <destination TABLESPACE NAME>;

SQL> ALTER TABLE BRUNO.TABLE_TECHDATABASKET TABLESPACE TECHDATABASKETTBS;

Table altered.

 	Após a movimentação é necessário efetuar o rebuild dos índices associados a tabela:


SQL> select 'alter index BRUNO.'||'"'||index_name||'" rebuild online;' from dba_indexes where status = 'UNUSABLE';

'ALTERINDEXA_GEDISRAP_T_CENTRAL.'||'"'||INDEX_NAME||'"REBUILDONLINE;'
--------------------------------------------------------------------------------
alter index BRUNO."IN_BRUNO.TABLE_TECHDATABASKET" rebuild online;

SQL> alter index BRUNO."IN_BRUNO.TABLE_TECHDATABASKET" rebuild online;

Index altered.

 

 

Related posts

Leave a Comment