Introdução e índice com os outros posts desta série.
Conforme vimos anteriormente, um banco de dados OpenEdge é composto de várias áreas (no mínimo 3) e a primeira delas chama-se Control Area. Esta área contém informações sobre as demais áreas e extensões do banco de dados. Estas informações são armazenadas em duas tabelas:
- tabela _Area: esta tabela contém uma lista com o número e nome das áreas existentes no banco de dados e algumas propriedades adicionais, como tipo da área, tamanho de bloco dos extents da área, quantidade máxima de registros por bloco, número de blocos por cluster e quantidade de extents.
- tabela _AreaExtent: nesta tabela estão as informações sobre cada um dos extents que fazem parte do banco de dados. As principais propriedades adicionais são o número da área que o extent faz parte, o tipo, a localização (diretório/pasta) e o tamanho do extent (em KB).
Durante a operação normal do banco de dados, todas as informações sobre as áreas e extensões do banco de dados são obtidas das duas tabelas citadas acima, da Control Area. O arquivo de estrutura do banco de dados (arquivo .st) normalmente não é utilizado pelo banco.
O arquivo de estrutura serve como modelo para criar/modificar a Control Area quando o banco de dados é criado ou quando são realizadas manutenções. Os principais utilitários do OpenEdge que usam o arquivo de estrutura são o prostrct, o prodb, o procopy e o prorest.
Apesar de não ser necessário para operação normal, é importante possuir um arquivo de estrutura atualizado para o banco de dados. Em determinadas situações, este arquivo é necessário para reconstruir/reparar a Control Area do banco de dados.
Existe uma característica única para a Control Area: ela não é afetada pelo processo de crash-recovery. As alterações da Control Area não são gravadas no BI, porque é fácil reconstruir esta área se houver algum problema.
Ao longo dos próximos posts da série veremos mais detalhes sobre o arquivo de estrutura.