Como funciona o arquivo primário de recuperação (BI) – parte 6

Escrito por Nilson Nestor Wolfgramm em 5 de março de 2009, 08:51h

Trataremos neste post como funciona o processo para truncar o arquivo de BI.

Este processo consiste em executar um recovery do banco para garantir que ele  esteja consistente e que não exista transação pendente, finalmente descartando o conteúdo do arquivo de BI.  Existem muitas razões pelas quais executar um truncate do arquivo de BI. Entre elas:

- Evitar  gravar também o arquivo de BI num backup completo off-line. A partir da versão 7.3A o backup completo não grava o arquivo de BI na mídia.

- Iniciar o after image depois de um backup completo. Neste caso, o Progress automaticamente trunca o arquivo de BI.

- Alterar o tamanho do cluster de BI(a partir da versão 6.2), ou alterar o tamanho do bloco(a partir da versão 7.2).

- Reduzir o tamanho do arquivo de BI que se tornou muito grande. Em casos de operação normal, isto não ocorre porque o BI reutiliza seus clusters. Na maioria dos casos, o BI alcança um tamanho estável e não cresce além disso. O tamanho que ele alcança depende dos tipos de transações executadas pela aplicação.

Quando um BI de tamanho variável é truncado, o “master block” é atualizado para refletir os dados da execução deste truncate, o arquivo de BI atual é eliminado, e um novo vazio, é criado. Da próxima vez que o banco é aberto, quatro clusters iniciais são alocados, expandindo o arquivo.

Quando um BI com várias extensões é truncado, o “master block” é atualizado e as extensões fixas são marcadas como truncadas ao atualizar seus cabeçalhos. O espaço previamente utilizado não é reformatado. Qualquer extensão variável é eliminada e uma nova, vazia é criada. Da próxima vez que o banco é aberto, quatro clusters são alocados.

Apresentaremos algumas características  de Clusters, Buffers e Blocos

Um cluster é composto por um número fixo de blocos de tamanho fixo(blocos de BI). O número de blocos é determinado pelo tamanho do cluster e do bloco. O tamanho do cluster é um múltiplo do tamanho do bloco de BI.

Antes da versão 6.2 o tamanho do cluster era fixo em 16KB. Nas versões atuais o tamanho é de 512KB. A partir da versão 6.2, o tamanho do cluster pode ser alterado quando o BI é truncado.

Antes da versão 7.2, o tamanho do bloco do BI era igual ao tamanho do bloco do banco de dados. A partir da versão 7.2, o tamanho do bloco de BI pode ser ajustado. Ele pode ser alterado quando o BI é truncado. Os tamanhos mais utilizados são 8KB e 16KB.

A partir da versão 6.3, o número de buffers de BI pode ser controlado. O default(mínimo possivel) é 5 buffers. Cada buffer tem 16KB, independente do tamanho do bloco de BI.

Esta série de posts foi gerada com base no Kbase P10481 “How the primary recovery file works”.  Espero que facilite o entendimento de como o arquivo de before image é importante na manutenção de um estado consistente do banco.

Categorias: Banco de dados | Progress

Tags: , ,

Comentar




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


Acesso LogMeIn

Informe o código PIN: