As entradas na tabela de cache do SGBD mantêm informações adicionais relevantes ao gerenciamento de buffer. Associado a cada item de buffer na cache está um bit sujo, que é utilizado para indicar se o buffer foi modificado ou não.

Quando um bloco é lido inicialmente do disco do banco de dados para o buffer no cache, uma nova entrada é inserida na tabela de cache com o novo endereço do bloco do disco, e o bit sujo é definido como (zero). Assim que o buffer é modificado, o bit sujo para a entrada na tabela correspondente é definido como 1 (um).

Informações adicionais, como a(s) id(s) das transações que modificaram o buffer, também podem ser mantidas no cache. Quando o conteúdo do buffer é substituído (esvaziado) do cache, o conteúdo primeiro precisa ser gravado de volta à página de disco correspondente somente se seu bit sujo for 1.

Outro bit, chamado bit de preso-solto, também é necessário — uma página no cache está presa (valor de bit 1 (um)) se ainda não puder ser gravada de volta ao disco.

Por exemplo, o protocolo de recuperação pode impedir que certas páginas de buffer sejam gravadas no disco até que as transações que mudaram esse buffer tenham sido confirmadas. Após liberar a possibilidade de gravação, esse bit volta para o valor 0 (zero), dessa forma, o gerenciador do disco pode operar e gravar as informações de log e dados.

Copyright © 2016 AIEC.