Manutenção de KB’s

Buenas!

Demorei mas voltei…

Hoje quero falar um pouco sobre as KB’s GeneXus (até a versão 9.0).

Todos os objetos GeneXus são armazenados em arquivos .dat, esses arquivos guardam todo tipo de informações relativas à sua KB em forma de tabela, por exemplo: Se tem uma tabela de modelos (Design, Protótipo, Produção1, 2, 3, etc.), objetos, atributos, cross references, etc. (Para mais informações sugiro pesquisar sobre o PublicGx – que brevemente falando, disponibiliza sua KB em forma de tabelas).

As KB’s GeneXus são armazenadas em arquivos, originados da tecnologia ISAM, isso é, são arquivos de dados juntamente arquivos de índices (semelhante ao nosso velho amigo DBF).

Isso implica que, as exclusões de registros são lógicas, ou seja, são marcados os registros como excluídos, porém eles não são de fato eliminados dos arquivos físicos.

Com o passar do tempo, pode acontecer das KB’s acumularem bastante registros nesse estado, o que, nesse caso, é aconselhável realizar um rebuild.

O que esse rebuild faz? Basicamente reescreve todos os arquivos .dat e .idx da sua KB ,eliminando as exclusões lógicas, resultando (não necessariamente) em arquivos menores, mais enxutos.

Outro grande benefício do rebuild é que ele reindexa todos os índices existentes (um para cada arquivo .dat). Fazendo com que objetos que não mais existam, sejam removidos do índice, por exemplo.

Ou, ainda, se você excluiu um modelo inteiro, porque não precisava mais dele (Sim, você pode excluir qualquer modelo da sua KB – exceto o Design, claro – Basta ir para o modelo de Design e clicar em File/Delete Model), é extremamente aconselhável que seja feito um rebuild para enxugar a sua KB, visto que a tabela que armazena os objetos tem como chave primária o número do modelo, ou seja, para cada modelo que você crie essa tabela é duplicada (em relação aos objetos) com o novo número do modelo gerado.

Bom, em primeiro lugar gostaria de salientar que antes de fazer qualquer um dos passos a seguir é recomendável um BackUp da KB! Não necessariamente TODA a KB, apenas os arquivos .dat e .idx que são os que serão alterados aqui.

Para fazer um rebuild (GeneXus 9.0):

  1. Fechar sua KB!
  2. Abrir um prompt do DOS:
    1. Iniciar, Executar, Cmd, [OK] .
  3. Posicionar-se no diretório da KB, ex.:
    1. d : [ENTER]
    2. cd \projetos\KB90\Minha_KB_90 [ENTER]
  4. Digitar “c:\Program Files\ARTech\GeneXus\GeneXus90\rbld” -y

Para fazer um rebuild (GeneXus 8.0):

  1. Fechar sua KB!
  2. Abrir um prompt do DOS.
  3. Posicionar-se no diretório da KB, ex.:
    1. d : [ENTER]
    2. cd \projetos\KB80\Minha_KB_GX80 [ENTER]
  4. Digitar “c:\Program Files\ARTech\GeneXus\Gxw80\rbld” -y

À partir do ponto 3 serão exibidos sucessivos ‘d’  e ‘i’ na tela, onde ‘d’ significa um arquivo .dat sendo reconstruído e ‘i’ significa um arquivo .idx sendo reconstruído.

Após a finalização, pode-se entrar normalmente na sua KB, mas guarde aquele BackUp até que se tenha conseguido abrir todos objetos sem problemas.

Nota 1: Se você tem a versão brasileira do windows, substituir “Program Files” por “Arquivos de Programas”.

Nota 2: Se você tem uma versão 64-bit do windows, substituir “Program Files” por “Program Files (x86)”.

Nota 3: Se a nota 1 e a nota 2 forem verdadeiras… Acho que não preciso dizer, certo?

Nota 4: Se você chegou até aqui esperando algo a mais, desista… o artigo já acabou…

Nota 5: Feliz Natal!.

Nota 6: Próspero Ano Novo!

Um abraço, e boas festas.

Anúncios