2 de mar. de 2008

Recriando Índices

A necessidade de recriar índices deu-se quando otimizei o banco e utilizei o move para isso. Quando utilizamos o move, os índices são danificados, necessitando de recriação.

Para recriar índices, utilizo os seguintes métodos.

Recriando índices na mesma tablespace
SQL> set pagesize 0
SQL> set linesize 0
SQL> select 'alter index ' || owner || '.' || index_name
|| ' rebuild nologging;' from dba_index
where tablespace_name = 'TABLESPACENAME';
SQL> spool x.sql
SQL> r
SQL> @x


Recriando índices em outra tablespace
SQL> set pagesize 0
SQL> set linesize 0
SQL> select 'alter index ' || owner || '.' || index_name
|| ' rebuild nologging tablespacename NEWTABLESPACE;'
from dba_index where tablespace_name = 'TABLESPACENAME';
SQL> spool x.sql
SQL> r
SQL> spool off
SQL> @x



:)