1. Administração de SGBDs

Propaganda
ADMINISTRAÇÃO DE BANCOS DE
DADOS
MÓDULO 12
Índice
1. Administração de SGBDs - Continuação ....................... 3
1.1. Recuperação (Recovery) .............................................. 3
1.1.1. Recuperação de sistema ......................................... 3
1.1.2. Recuperação da mídia ............................................ 4
2
Administração de Banco de Dados - Módulo 12
1. ADMINISTRAÇÃO DE SGBDS - CONTINUAÇÃO
1.1. RECUPERAÇÃO (RECOVERY)
O Recovery (recuperação), segundo DATE (2003:381) ”em um sistema
de banco de dados significa basicamente a recuperação do próprio banco de
dados: ou seja, restaurar o banco de dados a um estado que se sabe ser
correto depois que alguma falha o leva a um estado incorreto ou, pelo
menos, suspeito. E os princípios fundamentais em que se baseia essa
recuperação são muito simples, e podem ser resumidos em uma palavra:
redundância. Em outras palavras, o modo de garantir que o banco de dados
de fato é recuperável é garantir que toda informação que ele contém possa
ser reconstruída a partir de alguma outra informação armazenada de modo
redundante em outro lugar do sistema”.
O sistema deve estar preparado para se recuperar não apenas de falhas
puramente locais, como a ocorrência de uma condição de estouro (overflow)
dentro de uma transação individual, mas também de falhas “globais”, como
uma queda de energia. Por definição, uma falha local só afeta a transação
em que a falha realmente ocorreu. Ao contrário, uma falha global afeta todas
as transações em andamento no instante da falha e, portanto, tem
implicações significativas em todo o sistema. Essas falhas se enquadram em
duas grandes categorias (DATE, 2003):
 Falhas do sistema (por exemplo, queda de energia), que afetam todas
as transações em curso no momento, mas não danificam fisicamente o
banco de dados. Às vezes, uma falha do sistema é chamada de soft
crash;
 Falhas da mídia (por exemplo, queda da cabeça de gravação sobre o
disco), que causam danos ao banco de dados ou a uma parte dele, e
afetam pelo menos todas as transações que, no momento, estão
usando essa parte. Às vezes, uma falha da mídia é chamada de hard
crash.
1.1.1. Recuperação de sistema
O ponto crítico com relação a falhas do sistema é o fato de que o
conteúdo da memória principal é perdido (em particular, os buffers do banco
de dados se perdem). Então, o estado exato de qualquer transação em curso
no momento da falha deixa de ser conhecido; desse modo, tal transação não
poderá nunca mais ser concluída com sucesso e deverá ser desfeita – isto é,
retomada – quando o sistema for reinicializado. Além disso, também pode
ser necessário refazer no momento da reinicialização certas transações
concluídas com êxito antes da queda, mas que não conseguiram ter suas
atualizações transferidas dos buffers do banco de dados para o banco de
dados físico (DATE, 2003).
Segundo DATE, “o sistema mantém um log ou diário em fita ou (mais
comumente) em disco, no qual são registrados detalhes de todas as
3
Administração de Banco de Dados - Módulo 12
operações de atualização – em particular, valores do objeto atualizado antes
e depois de cada atualização, às vezes chamados de imagens antes e depois”
(2003:383).
Surge aqui a questão óbvia: de que maneira o sistema saberá, no
momento da reinicialização, quais transações devem ser desfeitas e quais
devem ser refeitas? A resposta é a seguinte: em certos intervalos
predeterminados – em geral, sempre que algum número preestabelecido de
entradas é gravado no log – o sistema automaticamente marca um
checkpoint (ponto de verificação). Marcar um checkpoint envolve:
a) Gravar fisicamente o conteúdo dos buffers do banco de dados físico;
b) Gravar fisicamente um registro de checkpoint especial no log físico.
O registro de checkpoint fornece uma lista de todas as transações que
estavam em andamento no momento em que o checkpoint foi marcado. O
sistema percorre o log do fim para o início, desfazendo as transações; em
seguida, ele percorre o log de novo para a frente, refazendo as transações.
A restauração do banco de dados a um estado correto refazendo o
trabalho é chamada de recuperação direta. De modo semelhante, a
restauração do banco de dados a um estado correto desfazendo o trabalho às
vezes é chamada de recuperação inversa. Observe que a recuperação direta
refaz as atualizações na ordem em que foram feitas originalmente, enquanto
a recuperação inversa desfaz as atualizações na ordem inversa.
Finalmente, quando toda essa atividade de recuperação for concluída,
então o sistema estará pronto para aceitar um novo trabalho.
1.1.2. Recuperação da mídia
A recuperação de uma falha desse tipo envolve basicamente a recarga ou
a restauração do banco de dados a partir de uma cópia de backup. Em
seguida, usa-se o log – em geral, tanto a parte ativa quanto a parte
arquivada – para refazer todas as transações que se completaram desde que
foi feita a última cópia de backup. Não há necessidade de desfazer as
transações que ainda estavam em curso no momento da falha, pois, por
definição, todas as atualizações dessas transações de qualquer modo foram
“desfeitas” – perdidas (DATE, 2003).
A necessidade de ser capaz de efetuar a recuperação da mídia implica a
necessidade de um utilitário de dump/restore (ou de descarga/recarga). A
parte de dump desse utilitário é usada para criar cópias de backup do banco
de dados por solicitação. Essas cópias podem ser mantidas em fita ou em
outro meio de armazenamento de arquivos; não é necessário que estejam na
mídia de acesso direto. Depois de uma falha de mídia, a parte de restauração
do utilitário é usada para recriar o banco de dados a partir de uma cópia de
backup especificada.
4
Administração de Banco de Dados - Módulo 12
Download