Reconstrução de Índices no OpenEdge

Escrito por Nilson Nestor Wolfgramm em 5 de setembro de 2008, 08:30h

Não execute este utilitário sem antes ter realizado um backup de seu banco.

 

Para reconstruir índices num banco Progress deve ser utilizado o comando:

 

Proutil nome-banco –C idxbuild

 

Este utilitário consolida registros de índice permitindo a utilização mais eficiente possível de espaço em disco. A reindexação permite a correção de índices corrompidos.

  

No manual Data Management: Database Administration  você encontrará o detalhamento deste utilitário.  

 

Características a ressaltar a partir do OpenEdge 10.1B:

  • é possível reconstruir todos os índices definidos para uma tabela;
  • indexar uma área onde todos os índices dela serão reconstruídos;
  • indexar todos os índices do schema de um determinado proprietário(p.ex.: PUB);
  • indexar todos os índices ativos ou inativos.

Tudo isso sem a necessidade de informar cada um individualmente

 

Para quem utiliza licenças Enterprise Database, a indexação é um processo multi-threaded, o que permite execução mais rápida do processo de indexação.

 

A Progress definiu como meta tornar o processo de indexação muitas vezes mais rápido do que era na versão 9.  O ideal é que o banco gerencie os índices de maneira mais efetiva para não haver mais necessidade de reindexar.  

 

Nota.: este utilitário não serve para corrigir dados corrompidos do registro.

Categorias: Banco de dados | Novidades | Progress

Tags:

Comentários (10) -

em 28 de outubro de 2008, 12:00h

Nilson, boa tarde!
Você comentou acima como fazer a reindexação através do comando proutil, gostaria de saber se para isto basta ir no prompt e executar o comando diretamente ou precisa fazer alguma outra configuração antes? Estou iniciando agora meus estudos com Progress então para mim não ficou muito claro o que seria este OpenEdge 10.1B, é uma ferramenta que faz exatamente o que este comando proutil faz?

Outra coisa, quais são os comandos para corrigir os registros corrompidos?

Obrigada e adorei as informações.

Thalita Ap. Cunha

em 29 de outubro de 2008, 11:00h

Bom dia, Thalita

Executar o comando proutil no diretório onde o banco se encontra será possível mediante a definição de algumas variáveis de ambiente(DLC e PATH).
Porém, se você estiver em um equipamento com o sistema operacional Windows instalado utilize o ícone PROENV, que está localizado no grupo de ícones criado quando o Progress foi instalado.(Menu Iniciar)

Openedge é uma referência, nome de batismo, que a Progress utiliza para designar o Progress versão 10.

Cada caso deve ser avaliado individualmente. Não existe uma única resposta.
Reportar o erro a uma equipe de suporte deverá ser sua primeira ação quando uma corrupção for detectada.
Também poderá fazer acesso ao site de suporte da Progress: www.progress.com/support, em busca de orientação.

Obrigado pelo retorno a respeito deste novo trabalho de divulgação.

Nilson

wolfgramm

em 29 de outubro de 2008, 13:12h

Nilson, boa tarde!

Encontrei o icone PROENV, conforme suas orientações. Obrigada!

TAC®

Thalita Ap. Cunha

em 11 de agosto de 2011, 15:26h

Existe necessidade de rodar essa função periódicamente?

Pedro

em 12 de agosto de 2011, 10:02h

Pedro,

Existem algumas situações onde reconstruir índices é importante:
- corrupção em um ou mais índices existentes;
- após importação de dados com load binário ou bulkload;
- após desabilitar um ou mais índices por qualquer motivo;
- índices muito fragmentados, o que reduz o desempenho de algumas operações.

O único caso que não é óbvio é o último, que depende de análise. Recomendo verificar sobre o comando PROUTIL IXANALYS no manual de administração do banco de dados.

kirchner

em 31 de agosto de 2011, 09:00h

Muito obrigado pela resposta...show de bola..

Rodeium idxanalys...
o que você entenderia por exemplo dessa linha?

Table                      Index  Fields Levels  Blocks    Size   % Util Factor
PUB.agencia
  ag-cep                      29       1      1       1  232.0B     2.8     1.0
  agencia                     30       2      1       1  729.0B     8.9     1.0

Um abraço!

Pedro

em 31 de agosto de 2011, 10:02h

Pedro,

Os índices em questão são minúsculos, 1 bloco apenas. Nem adianta tentar analisar nada neste caso.

kirchner

em 1 de setembro de 2011, 11:51h

Agora sim um considerável...

Table                      Index  Fields Levels  Blocks    Size   % Util Factor
PUB.dwf-item-lancto-ctbl
  dwftmlnc-dat-fim          1292       1      2     289    2.1M    94.6     1.1
  dwftmlnc-dat-fim-emp      1293       2      2     289    2.1M    94.6     1.1
  dwftmlnc-id               1291       7      3   34700  185.0M    68.5     1.6

Pedro

em 1 de setembro de 2011, 12:15h

PARA COMPLEMENTAR ...

392578 index block(s) encontrado(s) no banco de dados.
73.64% do espaco do index block esta em uso.

Pedro

em 2 de setembro de 2011, 12:20h

Pedro,

O que mais chama a atenção é o índice de 185MB, mas apenas 68,5% deste espaço é efetivamente utilizado.
Tem mais blocos do que necessário, o índice poderia ser menor e mais eficiente.

Nada exagerado, mas você pode tentar compactar o índice (idxcompact) ou reconstruir (idxrebuild) para ver se este valor melhora.

kirchner

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading


Acesso LogMeIn

Informe o código PIN: