sexta-feira, 20 de abril de 2012

Redo Log Buffer (Oracle OCA)

Buffer circular da SGA que contém informações sobre as alterações do banco de dados, contem entradas ‘redo’ de mudanças feitas por operações DML e DLL, contendo informações necessárias para reconstruir ou refazer essas mudanças, ou de operação interna. Quanto necessário é usado para recuperação de banco.


Os processo de servidor faz as alterações para o ‘buffer cache’, entradas ‘redo’, são geradas e escritas no ‘redo log buffer’ na SGA. Essas entradas assumem, continuo e sequencial espaço no ‘buffer’. O processo de fundo LGWR escreve o ‘redo log buffer’ para o ativo ‘redo log file’ no disco.

LGWR: responsável por gerenciamento e escrita do redo log buffer para o redo log file (arquivo de redo) no disco, escreve todas entradas de ‘redo’ que tem sido copiado dentro do buffer desde a última escrita, em uma proporção continua:

-Uma gravação efetuada quando o processo do usuário efetua uma transação;
- Redo log buffers;
- Cada 3 segundos;
- Quando o redo log buffer é 1/3 do total;
- Quando um processo DBWn (Database Writer) escreve os buffers modificados para o disco se necessário


quarta-feira, 18 de abril de 2012

Database Buffer Cache (Oracle OCA)


Conforme vou lendo o material oficial da Oracle, vou publicando um resumo sobre o tópico lido, conforme vou pesquisando ou achando mais material a respeito desse tópico, pretendo ir complementando e aos poucos ir deixando o material como um todo cada vez mais completo

Parte do SGA, compartilhada por todos usuários concorrentes, que mantém cópias de bloco de dados para serem lidas pelos arquivos de dados.

A primeira vez o processo de usuários o Banco Oracle requer um particular pedaço de dados, procurando no ‘database buffer cache’. Se existir, le diretamente da memória, tornando bem mais rápido o processo, senão copia o bloco de dados para arquivo de dados no disco após acessar os dados.

Organizado em duas listas  blocos alterados e blocos pouco utilizados recentemente, quando um processo servidor precisa ler dados de um bloco do disco para o database ‘buffer cache’,  pesquisa a LRU para localizar um bloco livre e, quando encontrar um bloco alterado, movimenta-o para a lista de blocos alterados. Esse processo termina quando um bloco livre é localizado ou quando um número específico de blocos são pesquisados sem encontrar um bloco livre