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.
Hi! I am Bruno, a Brazilian born and bred. Former Oracle ACE, Computer Scientist, MSc in Data Science, over ten years of experience in companies such as IBM, Epico Tech, and Playtech based in three different countries (Brazil, Hungary, and Sweden) and joined projects remotely in many others. I am super excited to show you my interest in Databases, Cloud, Data Science, Data Engineering, Bigdata, AI, Programming, Software Engineering, and data in general.
(Continue reading)