Professional Documents
Culture Documents
Sumrio
1. Introduo
2. Tipos de Falhas
3. Recuperao Baseada em Log
4. Checkpoint
5. Tcnicas de Recuperao
6. Tcnicas de Recuperao de Meio de Armazenamento
7. Recuperao Baseada em Pginas Sombras
Introduo
O Sistema de Recuperao a parte responsvel pela deteco de falhas e pela restaurao
do BD para um estado consistente que existia antes da ocorrncia da falha.
O Sistema de Recuperao baseia-se em redundncia de dados que consiste na criao de
cpias dos dados e operaes ou a replicao desses dados. No caso de falha dos dados
principais, podem-se utilizar as cpias para recuperar os dados e ento retornar o BD a um
estado consistente.
Quando ocorre uma falha, o SGBD deve executar aes para retornar o BD a um estado
consistente. As duas aes bsicas so:
UNDO: desfazer uma atualizao no BD.
REDO: refazer uma atualizao no BD.
Tipos de Falhas
Existem diferentes tipos de falhas que podem afetar a consistncia de um BD:
1.
2.
3.
4.
Falha
Falha
Falha
Falha
de Transao
de Sistema
de Meio de Armazenamento
Catastrfica
Tipos de Falhas
1. Falha de Transao:
A falha de transao ocorre quando uma transao ativa termina de forma anormal.
As principais causas para esse tipo de falha so: violao de uma restrio de integridade, lgica da
transao mal definida, deadlock, cancelamento pelo usurio, entre outras.
Como as causas so muito comuns, essa falha tem maior probabilidade de ocorrncia. Entretanto,
seu tempo de recuperao pequeno, pois no compromete as memrias principal e secundria.
2. Falha de Sistema:
A falha de sistema ocorre quando o SGBD encerra a sua execuo de forma anormal.
As principais causas para esse tipo de falha so: interrupo de energia, falha no sistema
operacional erro interno no software do SGBD, falha de hardware, entre outras.
Nesse caso, as transaes em execuo no podem mais continuar, porm possvel recuper-las.
Esse tipo de falha compromete a memria principal, mas no compromete a memria secundria.
Como as causas so mais comuns do que a falha de transao, esse tipo de falha tem probabilidade
mdia de ocorrncia. Entretanto, seu tempo de recuperao mdio, pois compromete a memria
principal.
BANCOS DE DADOS: RECUPERAO DE BANCO DE DADOS
Tipos de Falhas
3. Falha de Meio de Armazenamento:
A falha de meio de armazenamento ocorre quando o BD torna-se total ou parcialmente inacessvel.
As principais causas para esse tipo de falha esto relacionadas ao disco: setores corrompidos no
disco, falha no cabeote de leitura/gravao, entre outras.
Esse tipo de falha no compromete a memria principal mas compromete a memria secundria.
Como as causas no so comuns, essa falha tem menor probabilidade de ocorrncia. Entretanto,
seu tempo de recuperao grande, pois compromete a memria secundria.
4. Falha Catastrfica:
Na falha catastrfica esto vrias situaes em que a mdia que contm o BD completamente
destruda.
Os exemplos incluem exploses ou incndios no local do banco de dados, vandalismo ou vrus.
Para evitar ou contornar essas falhas, os seguintes procedimentos so executados:
a) toda vez que feita uma modificao no BD, mantido automaticamente pelo sistema um
registro num arquivo especial;
b) periodicamente feito um backup de todo o BD (normalmente em fita magntica).
T3 altera o item B
do valor 15 para o
valor 12.
T2 altera o item B
do valor 12 para o
valor 18.
T3 altera o item A
do valor 10 para o
valor 19.
T1 altera o item D
do valor 20 para o
valor 25.
T3 efetivada.
T1 efetivada.
T2 efetivada.
T2 altera o item D
do valor 25 para o
valor 26.
8
Como o log armazena informaes sobre todas as atividades do BD, o volume de dados
armazenados no log pode tornar-se excessivamente grande. Existem meios seguros para
apagar informaes do log ou para compact-lo.
10
11
12
STEAL:
Nessa tcnica um bloco na cache utilizado por uma transao Tx pode ser gravado antes do commit
de Tx.
Se algum dado requisitado do banco de dados por outra transao e no h blocos disponveis na
cache, ento, um bloco a ser eliminado deve ser escolhido atravs de alguma tcnica (como o FIFO,
por exemplo).
13
NOT-FORCE:
Com o NOT-FORCE, os blocos que mantm dados atualizados por Tx no so imediatamente
gravados no BD quando Tx alcana o commit.
Assim, blocos atualizados podem permanecer na cache e serem utilizados por outras transaes,
aps o commit de Tx, o que reduz o custo de acesso a disco.
14
Checkpoint
Os logs so utilizados para recuperar o sistema em caso de falha. Contudo, esse processo
pode consumir muito tempo, visto que o log pode ser muito grande.
Alm disso, muitas das transaes que necessitam ser refeitas j escreveram suas
atualizaes no BD e refaz-las se tornar muito oneroso.
Checkpoints (ou pontes de controle) so pontos em que se garante que o contedo dos
buffers do log e do banco de dados foram descarregados nos respectivos meios fsicos.
O ponto crtico em relao falha de sistema que os contedos da memria principal so
perdidos (em particular, os buffers).
No possvel prever o estado preciso de qualquer transao que estava em andamento no
momento a falha. Tal transao pode nunca terminar com sucesso, logo precisa ser desfeita
(rollback) quando o sistema reiniciar.
Entretanto, pode tambm ser necessrio refazer algumas transaes que possam ter
terminado com sucesso antes da falha ocorrer, mas que no tiveram seus resultados
transferidos dos buffers para o banco de dados fsico.
BANCOS DE DADOS: RECUPERAO DE BANCO DE DADOS
15
Checkpoint
Quando ocorre uma falha de sistema,
os seguintes passos devem ser
executados:
1.
2.
3.
Exemplo:
Tempo (tc)
do
checkpoint
mais
recentement
e ocorrido
antes da
falha.
Falha de
Sistema
Tcnicas de Recuperao
Existem duas tcnicas para usar o log com vistas a assegurar a atomicidade das transaes
apesar das falhas.
Modificao Imediata do Banco de Dados
Modificao Adiada do Banco de Dados
17
Tcnicas de Recuperao
Modificao Imediata
Na modificao imediata, todos os dados que foram alterados por transaes efetivadas ou no, so
persistidos no arquivo de dados.
A atualizao feita no banco de dados no momento exato em que foi executada, ento, a recuperao
aps falha tem que desfazer (UNDO) tudo e refazer (REDO).
Do ponto de vista do gerenciamento de buffer, essas tcnicas utilizam a abordagem STEAL.
Tcnica UNDO/REDO:
Na tcnica UNDO/REDO gravada a efetivao de uma transao "x no log depois que todas as modificaes,
realizadas por "x", terem sido gravadas no log, e antes dessas modificaes terem sido gravadas no banco de
dados.
Para isso, essa tcnica requer a existncia de um log UNDO e REDO.
Tcnica UNDO/NO-REDO:
Na tcnica UNDO/NO-REDO gravada a efetivao de uma transao "x" no log depois que todas as
modificaes, realizadas por "x", terem sido gravadas no log, e depois que essas modificaes terem sido
gravadas no banco de dados.
Nesse caso, necessrio a existncia de um log UNDO.
BANCOS DE DADOS: RECUPERAO DE BANCO DE DADOS
18
Tcnicas de Recuperao
Modificao Adiada
As tcnicas baseadas em modificao adiada no log realizam alteraes no banco de dados
somente quando todas as transaes, que modificam o banco de dados, so escritas no log.
Do ponto de vista do gerenciamento de buffer, essas tcnicas utilizam a abordagem NOTSTEAL.
Tcnica NO-UNDO/REDO:
Na tcnica NO-UNDO/REDO fora-se a gravao do log em disco aps uma transao "x" concluir
suas modificaes. Com isso, se uma transao "x falhar antes de alcanar sua efetivao, no
necessrio realizar UNDO de "x", pois nenhuma atualizao de "x" foi gravada no banco de dados.
19
Tcnicas de Recuperao de
Meio de Armazenamento
Essa tcnica utilizada quando ocorre falha do meio de armazenamento. Nesse caso,
necessita-se de uma cpia do BD atualizada periodicamente.
Os seguintes passos so necessrios para a operao de cpia peridica do BD:
1.
2.
3.
Concluso de todas as transaes ativas: nenhuma transao pode estar ativa e se existem
transaes nesse estado, deve-se aguardar at elas encerrarem com sucesso.
Descarga do buffer do log para o disco;
Descarga do buffer do BD para o BD fsico.
20
Quando uma transao Ti inicia a execuo, a TPC copiada para TPS, sendo est salva em
disco;
Durante a execuo, a TPS no muda;
Quando uma operao de escrita ocorre em uma pgina, uma nova cpia da pgina modificada
criada e apontada pela TPC;
Para a recuperao de uma falha, ocorre a liberao das pginas modificadas e o descarte das
TPC. Assim, a TPS disponibilizar o estado anterior falha.
Com a confirmao da transao Ti, ento a TPS descartada.
21
22