Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/11/2014 Banco de Dados - Prof. Jorge Soares 1 Sistemas de Bancos de Dados Prof. Jorge Soares jasoares@uerj.br Tema Recuperação de Falhas Agenda • Tipos de falhas • Sistema de log • Checkpoints • Técnicas de atualização • Reversão em cascata • Paginação-Sombra Banco de Dados – Prof. Jorge Soares 2 28/11/2014 Banco de Dados - Prof. Jorge Soares 2 Tipos de Falhas • Físicas – Incêndio – Desastres – Queima do ar condicionado – Perda de buffer – Erros de hardware e software � BackUp + Log até a data!! Banco de Dados – Prof. Jorge Soares 3 Tipos de Falhas • Lógicas – Overflow – Divisão por zero – Chamada equivocada de parâmetros – Exceções não tratadas devidamente – Solicitação do usuário � Mecanismo de recuperação de falhas... Banco de Dados – Prof. Jorge Soares 4 28/11/2014 Banco de Dados - Prof. Jorge Soares 3 Sistema de log • Utilizado p/ recuperação do BDs após a ocorrência de falhas de transação. – mantém registro de todas atualizações; – susceptível a falhas físicas – back-up periódico Banco de Dados – Prof. Jorge Soares 5 O arquivo de log • Exemplos de entrada no log: [begin_transaction,T] [write,T,X,old,new] [read,T,X] [commit, T] [abort,T] Banco de Dados – Prof. Jorge Soares 6 28/11/2014 Banco de Dados - Prof. Jorge Soares 4 Técnicas de Recuperação de Falhas • Atualização Adiada – O BD não é atualizado até que a transação atinja o seu ponto de commit. – Se a transação falhar antes desse ponto, nada acontece à base – Algumas operações do log devem ser retiradas do arquivo Banco de Dados – Prof. Jorge Soares 7 Técnicas de Recuperação de Falhas • Atualização Imediata – Atualizações podem ser efetuadas antes da transação atingir o seu ponto de commit. – Essas operações são gravadas no log antes do BD ser atualizado – Em caso de falha a recuperação é possível através de rollback da transação (operações de undo/redo) Banco de Dados – Prof. Jorge Soares 8 28/11/2014 Banco de Dados - Prof. Jorge Soares 5 Checkpoints • Entrada no log correspondente a um tempo t no qual os buffers modificados do SGBD são gravados no BD • Um [checkpoint] corresponde aos seguintes passos: – todas as transações são suspensas temporariamente – grava no BD (em modo força bruta) todos os buffers modificados na área de cache – insere um registro [checkpoint] no arquivo de log Banco de Dados – Prof. Jorge Soares 9 Checkpoints Banco de Dados – Prof. Jorge Soares 10 28/11/2014 Banco de Dados - Prof. Jorge Soares 6 Checkpoints Banco de Dados – Prof. Jorge Soares 11 Técnicas de Recuperação de Falhas • Operações fundamentais: – REDO: refaz operação a partir do log atribuindo no BD novos valores AIM (after image) – UNDO: desfaz operação do log atribuindo no BD valores BIM (before image) Banco de Dados – Prof. Jorge Soares 12 28/11/2014 Banco de Dados - Prof. Jorge Soares 7 Reversão em Cascata (Cascading Rollback) Banco de Dados – Prof. Jorge Soares 13 T1 T2 T3 Read A Read D Write D commit Read C Write B Read B WriteB Read D Write D commit tempo Read A falha do sistema Rollback em cascata Banco de Dados – Prof. Jorge Soares 14 [inicia,T3] [read,T3,C] [write,T3,B,15,12] [inicia,T2] [read,T2,B] [write,T2,B,12,18] [inicia,T1] [read,T1,A] [read,T1,D] [write,T1,D,20,25] [commit T1] [read,T2,D] [write,T2,D,25,26] [commit T2] [read,T3,A] desfeito desfeito Reversão em Cascata (Cascading Rollback) 28/11/2014 Banco de Dados - Prof. Jorge Soares 8 Paginação Sombra Shadow Pagging � Técnica alternativa de recuperação de falhas que não demanda log em ambientes monousuário. � Log pode ser necessário em ambientes multiusuário para o método de controle de concorrência. � Pressuposto: BD construído com um número de páginas (blocos) de tamanho fixo. Banco de Dados – Prof. Jorge Soares 15 � Construção de um catálogo, onde a i-ésima entrada aponta para a i-ésima página do BD em disco. � Mantido em memória principal, se possível. � Antes do início de uma transação, o catálogo corrente é copiado e salvo em disco (catálogo shadow), permanecendo inalterado durante a execução da transação. Banco de Dados – Prof. Jorge Soares 16 Paginação Sombra Shadow Pagging 28/11/2014 Banco de Dados - Prof. Jorge Soares 9 � Quando a transação executa uma operação write(X), a página é copiada em outra região do disco, e o catálogo corrente é atualizado. � A página com a versão original é mantida em disco. � Quais versões serão mantidas dependerá da ação a ser realizada. � Técnica conhecida como NO-UNDO/NO-REDO. Banco de Dados – Prof. Jorge Soares 17 Paginação Sombra Shadow Pagging Banco de Dados – Prof. Jorge Soares 18 Paginação Sombra Shadow Pagging 28/11/2014 Banco de Dados - Prof. Jorge Soares 10 � Problemas: � Páginas espalhadas pelo disco � Manutenção de catálogos grandes para transações efetivadas � Em sistemas multiusuários, necessidade de logs e checkpoints � Manutenção de lixo para transações efetivadas � Atomicidade na migração entre os catálogos corrente e shadow Banco de Dados – Prof. Jorge Soares 19 Paginação Sombra Shadow Pagging
Compartilhar