recuperaÇÃo apÓs falha. material baseado nas aulas da prof. renata vilas boas motivação...

22
RECUPERAÇÃO APÓS FALHA

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

RECUPERAÇÃO APÓS FALHA

Page 2: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Material baseado nas aulas da prof. Renata Vilas Boas

Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua Recuperação LOG Checkpoint

Page 3: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Propriedades de uma transação Atomicidade: Todas as ações na

transação acontecem, ou nenhuma acontece.

Consistência: Se toda a transação é consistente, e o BD inicia consistente, então o BD termina consistente.

Isolamento: A execução de uma transação é isolada de outras transações.

Durabilidade: Se uma transação é finalizada, seu efeito persiste.

Page 4: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Motivação

Sistema de computador está sujeito a falhas Existem diversos tipos de falhas, as quais

podem acarretar perda dos dados O sistema deve garantir que as

propriedades de atomicidade e durabilidade das transações sejam preservadas

Page 5: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Motivação

BD Consistente

BD Inconsisten

te

Tran

saçõ

es

Falha

Técnicas de Recuperação

Page 6: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Conceitos Básicos

Transação Unidade de trabalho; Unidade de recuperação As propriedades devem ser preservadas

Recuperação O SGBD é acionado automaticamente para resolver

os tipos de falhas esperados Condição básica

Armazenamento de informação redundante durante o funcionamento normal (log, backup)

Estado do BD deve ser recuperado Ao mais recente estado consistente antes da falha

(satisfaz todas as restrições de integridade)

Page 7: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Observe

O planejamento e o processo de Back Up geralmente envolve a seguinte questão:

Isto porque é preciso conhecer o funcionamento do gerenciador de recuperação, determinar a frequência com que será feito o Backup e onde ele ficará armazenado

No pior caso, se o backup estiver guardado próximo a máquina com os dados e a sala que eles estiverem pegar fogo....

Quanto você está disposto a perder?

Page 8: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Meios de Armazenamento Volátil

Buffer Os dados estão armazenados na memória principal do

computador Acesso mais rápido A informação residente neste meio usualmente, não

sobrevive a quedas no sistema Não-volátil

Os dados estão armazenados em discos e/ou fitas A informação residente neste meio sobrevive a quedas no

sistema mas pode não sobreviver a falhas neste meio Estável

A informação residente neste meio “nunca” é perdida Meio mais seguro do que a não-volátil

Page 9: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Tipos Falhas

Falha de transação Erro lógico. A transação não pode continuar sua

execução normal devido a alguma condição não satisfeita

Erro de sistema. O sistema entrou em um estado inadequado (deadlock)

Falha do sistema Queda de energia. Não danifica fisicamente o BD,

mas as informações em memória volátil são perdidas. Afeta todas as transações em curso no momento

Falha de Mídia Bloco de disco perdeu conteúdo em função da

quebra do cabeçote ou falha durante a transferência de dados. Danifica fisicamente o BD

Page 10: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Como recuperar o BD?

Falha de transação Desfazer as operações já realizadas pela

transação até o início da transação ou até um determinado ponto dentro da transação

Falha do sistema Recuperar o mais recente estado

consistente do BD que existia antes da falha Refazer ou desfazer transações

Falha de disco Refazer o BD utilizando um BD espelho ou

uma cópia de segurança

Page 11: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Arquitetura do Gerenciador de Recuperação

Log recuperação de curta duração Falha de transação

Recuperação de média e longa duração Falha de sistema (BD + Log) Falha de disco (Cópia de segurança + Log)

Escalonamento

BD

Gerenciador deRecuperação

Transações

Cópia de segurança

Log

Page 12: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Recuperação usando Log

Arquivo onde ficam armazenadas todas as operações realizadas no BD Cada vez que é executada uma operação

sobre uma linha de uma tabela é criado uma entrada (ou registro) no Log

Exemplos de registros no Log:1. [begin_Transaction, T]2. [write, T, X, old, new]3. [read, T, X]4. [commit, T]5. [abort, T]

Page 13: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Log

Armazenado na memória principal, em meio não-volátil e em meio estável

É um arquivo serial que guarda todas as modificações que foram realizadas no BD e quais transações realizaram quais modificações

Este arquivo é lido durante o processo de recuperação pois pode levar um BD ao seu último estado consistente antes da falha

Uma transação só é considerada executada quando todos os registros do Log desta transação estiverem armazenadas no banco de dados físico

Registros do Log devem ser armazenados no arquivo na ordem em que eles foram criados (exemplo: antes que o registro <commit, Ti> seja armazenado no arquivo, todos os outros registros desta transação já devem estar)

Page 14: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Recuperação de Falha de Transação Deve ser executada pelo SGBD quando

uma transação que estava sendo executada é cancelada (explícita/implícitamente)

Recuperação Os efeitos da transação em questão devem

ser desfeitos Para isso, deve-se varrer o arquivo de Log

para identificar as operações já realizadas pela transação

Page 15: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Recuperação de Falha do Sistema

O SGBD parou de executar Operações que estavam na memória volátil

não foram armazenadas na memória física Consequentemente

Todas as transações que estavam em execução no momento da falha devem ser desfeitas

Questão: Como o SGBD sabe as transações que estavam

em execução? Deverá varrer todo o Log?

Page 16: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Checkpoint

Ponto de controle De tempos em tempos, o SGBD escreve no

Log um registro especial chamado checkpoint, que serve para registrar as transações em execução

A execução de um checkpoint envolve: Gravar fisicamente o conteúdo do BD da memória

volátil no BD físico Gravar fisicamente (meio estável) o conteúdo do Log Gravar um registro de checkpoint no Log

Se não existe este registro, teríamos que investigar todo o arquivo de Log para recuperar o BD

Page 17: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Checkpoint

Quando ocorre uma falha de sistema Todas as transações cujos registros

<commit, Ti> estejam depois do checkpoint mais recente gravado no Log Devem ser refeitas (REDO)

Todas as transações cujos registros <begin transaction, Ti> estejam no Log mas os registros <commit, Ti> ou <rollback, Ti> não estejam Devem ser desfeitas (UNDO)

Page 18: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

T1

T2

T3

T4

T5

Checkpoint Falha do sistemaTempo

Quando ocorre uma falha, o SGBD verifica o último checkpoint

A recuperação de cada uma das transações ocorre das seguintes maneiras T1 não é afetada T2 e T4 já estão completadas mas não conseguiram ter

suas atualizações gravadas no BD físico Refazê-las T3 e T5 ainda não tinham sido encerradas Desfazê-las

Page 19: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Recuperação de Falha de Disco O BD está danificado! Uma falha deste tipo ocorre raramente,

mas deve ser prevista Necessita de uma cópia de segurança

(backup) atualizada periodicamente O BD deve ser restaurado

pela carga da cópia de segurança e pelo uso do Log para refazer todas as

operações feitas após a cópia

Page 20: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Tipos de Backup

Completo Banco de Dados

Realiza o backup de todo o banco de dados Arquivo de Log

Realiza o backup apenas do Log Diferencial

Realiza o backup apenas da parte que foi modificada após o último backup

Page 21: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Exercícios

Discuta os tipos de falhas que podem ocorrer a um BD.

O que é checkpoint? Qual a importância de gravar um registro de checkpoint no Log?

Explique o procedimento que deve ser feito para restaurar o BD no caso de uma falha do sistema.

Page 22: RECUPERAÇÃO APÓS FALHA. Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua

Exercícios Responda: (1) O que acontece depois da falha

com cada transação e por quê? (2) Qual o valor dos dados após o processo de recuperação?

[write, T3, B, 10, 8] [commit, T3] [início, T4] [read, T4, A] [write, T2, D, 0, 25] [início, T5] [write, T4, A, 20, 15] [read, T5, A] [commit, T4] [write, T5, A, 15, 65] [read, T2, B] FALHA!

[início, T1][read, T1, A][read, T1, B][início, T2][read, T2, C][write, T1, A, 3, 20][commit, T1][write, T2, C, 2, 40][início, T3][read, T3, B][checkpoint]