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, and I am also a naturalized Swedish citizen. I am a former Oracle ACE and, to keep up with academic research, I am a Computer Scientist with an MSc in Data Science and another MSc in Software Engineering. I have over ten years of experience working with companies such as IBM, Epico Tech, and Playtech across three different countries (Brazil, Hungary, and Sweden), and I have joined projects remotely in many others. I am super excited to share my interests in Databases, Cybersecurity, Cloud, Data Science, Data Engineering, Big Data, AI, Programming, Software Engineering, and data in general.
(Continue reading)