segunda-feira, 30 de março de 2009

Reconstruindo o Ìndice

A maneira mais simples para a reconstrução do índice é:

Alter index <index-name> rebuild tablespace <index-tablespace>;

O camando também tem a vantagem de não impedir o índice de ser utilizado enquanto está sendo reconstruído. O Tablespaces deve ser informado, caso contrário, o índice será reconstruído no tablespace atual (padrão) do usuário.

Reconstruir o índice também permite que novos parâmetros(campos) possam ser atribuídos ao índice.


Se o índice estiver danificado, ele deve ser excluído e recriado.
Em primeiro lugar, devemos identificar o índice e seus campos, para isso utilizamos as seguintes consultas:

SELECT COLUMN_NAME FROM USER_IND_COLUMNS
WHERE INDEX_NAME = 'index_name';

SELECT TABLE_NAME, UNIQUENESS, TABLESPACE_NAME, INITIAL_EXENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS,PCT_INCREASE, PCT_FREE FROM USER_INDEXES WHERE INDEX_NAME = 'index_name';


Excluindo o índice:
 Drop index <index-name>;
Recriando o índice:
 Create [UNIQUE] index <index-name> on <tablea-name> (<coluna1>,<colunaN>) tablespace <tablespace-name>;

Lembrando que para a PRIMARY KEY ou UNIQUE KEY o índice é criado automaticamento na criação da constraint;


Até a próxima.....

Nenhum comentário: