segunda-feira, 3 de maio de 2010

O Processo de Commit

Fala Pessoal,estava lendo um artigo sobre performance o qual explicava sobre o processo de commit e explicava o conceito do termo SCN, achei interessante e resolvi publicar aqui no blog.
O Banco de Dados Oracle usa um rapido mecanismo de de commit o qual garante que as mudanças efetivadas possam ser recuperadas em caso de falhas da instância.

 SCN (System Change Number) Número de mudança do Sistema.

 Sempre que uma transação sofre commit, o banco de dados Oracle atribui SCN para a transação. O SCN é constantemente incrementado e é único dentro do banco de dados. Ele é usado pelo banco de dados Oracle como um carimbo de tempo interno para sincronizar os dados e fornecer consistência de leitura quando os dados são obtidos a partir dos arquivos de dados. Usando o SCN habilitamos o banco de dados oracle para executar verificações de consistência sem depender da data e da hora do sistema operacional.
Quando o commit é emitido, as seguintes etapas são realizadas:
  1. Processo do servidor coloca um registro de commit, com o SCN, no buffer redo log.
  2. O Processo de background Log Writer (LGWR) realiza uma constante escrita de todo Redo Log buffer até e inclusive o registro de commit para os arquivos de Redo Log .Após esse ponto o banco de dados já pode garantir que as alterações não serão perdidas mesmo se houver uma falha na instancia.
  3. O Processo do servidor fornece um retorno ao usuário sobre o processo de realização da transação.
 Em Algumas vezes o Processo de background DBWR  escreve as reais mudanças de volta para o disco baseado  em um próprio sistema de temporalização interno.
Fonte :Oracle Database 10g :SQL Tuning - Priya Vennapusa

Um comentário: