#40
A função do arquivo de Redo Log é ajudar na recuperação do banco de dados caso o banco de dados for danificado ou destruído.
Exitem dois tipos de arquivos de Redo Log, o tipo Online e o tipo Arquivado. O arquivo Redo de Log Online é obrigatório e o arquivo Redo Log Arquivado é opcional, esse último só existe se o Archiver estiver ativado.
O arquivo de Redo Log Online é usado pelo processo LGWR, esse processo grava no arquivo em disco os vetores de alteração gerados pelo Cache de Buffer do Banco de Dados que são enviados para o Buffer de Log de onde são coletados pelo LGWR para gravação, dentro do arquivo de Redo Log Online os vetores de alteração são armazenados em uma cadeia continua em ordem cronológica.
O funcionamento do arquivo de Redo Log é bem interessante, então atenção. O arquivo de Redo Log Online é de tamanho fixo e deve obrigatoriamente pertencer a um grupo, os arquivos dentro desse grupo são chamados de membros e podem existir vários membros em um mesmo grupo, mas não pode existir nenhum grupo sem um membro. O Oracle obriga ao banco de dados a ter no mínimo dois grupos e ao menos um membro em cada grupo.
Agora vamos entender como LGWR realiza a gravação, nesse exemplo vamos usar a quantidade padrão, que são dois grupos e um membro em cada grupo. Sempre que for citado a palavra "membro" isso se referência a um "arquivo do Redo Log Online".
O LGWR acessa um dos grupos, esse grupo acessado é conhecido como atual (current), então, de forma continua o LGWR grava os vetores de alteração no membro desse grupo, lembrando que esses vetores de alteração vem de todas as sessões de usuários ativas, desta forma o membro que tem tamanho fixo é preenchido muito rápido, quando o membro é completamente preenchido o LGWR então sai desse grupo e vai para o proxímo grupo, isso transforma esse novo grupo em atual (current), e o LGWR inicia a gravação nele, essa ação de mudança de grupo do LGWR é chamada de "alternância de log". O LGWR realiza essa ação de forma continua, sempre alternando entre os grupos e gravando os vetores de alteração nos membros. Cada vez que o LGWR grava em um membro ele sobrescreve as informações antigas que estavam gravadas naquele membro.
Entendemos como funciona usando a quantidade padrão de grupos e membros, agora vamos entender como funciona quando definimos quantidades maiores para grupos e membros.
Vamos supor que no nosso banco de dados temos 4 grupos e em cada grupo possui 3 membros, o LGWR irá funcionar da mesma forma realizando a alternância de grupos, a diferença que ele irá gravar simultaneamente em cada membro do grupo, o que isso quer dizer, cada membro de um grupo irá possuir a mesma informação, eles serão idênticos, a vantagem desse modelo é que se você perder um membro desse grupo, o banco de dados vai continuar funcionando sem problema com os demais membros ativos.
Agora qual a vantagem de se ter mais de dois grupos? Para explicar isso melhor agora vamos falar sobre o outro tipo de arquivo de Redo Log, o Redo Log Arquivado.
Como se pode observar, os membros tem tamanho fixo e podem ser preenchidos de forma rápida dependendo do tamanho do banco de dados e sessão de usuários ativas, as informações desses membros sempre são sobrescritas, isso significa que um arquivo de Redo Log mantém apenas informações recentes de vetores de alterações, dessa forma pode ocorrer perda de dados caso o banco de dados for danificado, para evitar isso o Redo Log Arquivado entra em ação, a função do Redo Log Arquivado é fazer uma cópia do arquivo de Redo Log Online e manter as informações salvas de forma permanente. O Redo Log Arquivado só funciona se o processo Archiver estiver ativado. Quando o Archiver esta ativado se torna obrigatório a gravação dos arquivos de Redo Log Online, com isso um membro não pode ser sobrescrito até ele ser copiado pelo Archiver. Essa é uma das vantagens de se ter mais de dois grupos, pois o LGWR não corre o risco de ficar esperando o Archiver liberar o grupo para gravação, porque quando tem mais grupos aumenta o tempo de alternância entre o grupo que acabou de ser usado, até ele ser requisitado novamente, com isso o Archiver consegue realizar a gravação e liberar o grupo antes dele ser requisitado.
Você não precisa se preocupar com a quantidade de arquivos de Redo Log Online na criação do banco (respeitando a quantidade mínima), pois, você pode adicionar ou remover os arquivos com a instância ativa, com isso elas se tornam transparentes para o usuário final.
Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo.
Abraço e bons estudos.
Comentários
Postar um comentário