Parte integrante da apostila Segurança em Banco de Dados
Instituto AVM – Pós-graduação em Banco de Dados
Autor Max Bianchi Godoy
Técnicas de Backup e Recovery
O backup refere-se à técnica de realização de cópia de segurança dos dados de um dispositivo de
armazenamento para outro com o objetivo de que posteriormente, esses dados possam ser
recuperados (recovery) no caso de algum problema ou por uma necessidade específica.
A origem da palavra backup vem da chamada “era industrial” e foi utilizada para identificar as peças
de reposição dos carros que saiam das linhas de montagem e das máquinas e equipamentos
sobressalentes que as substituíam, em caso de defeito.
Assim, da mesma forma, realizar um backup é fazer uma cópia de segurança de determinado
trabalho, arquivo, banco de dados ou sistema, a fim de que, no caso de uma eventualidade que
impeça o seu uso ou leitura, estes possam ser rapidamente recuperados, minimizando, assim, os
prejuízos e permitindo a continuidade dos serviços.
Portanto, de uma forma geral, o backup corresponde a uma tarefa essencial para todos os que
utilizam computadores e outros dispositivos informatizados.
Atualmente, os mais conhecidos dispositivos de gravação para os backups são: as fitas magnéticas ou
DAT, os CD-ROMs, os DVDs, o Blue-Ray e os discos rígidos externos. Além destes, existem inúmeros
softwares que podem ser utilizados para criação de backups e para posterior recuperação dos dados
(recovery).
Basicamente, a importância dos backups é assegurar a integridade dos dados contra possíveis
problemas que possam eventualmente ocorrer nos sistemas, mais equipamentos ou nas unidades de
armazenamento utilizadas. Além disso, devem assegurar a recuperação de arquivos dos usuários que
possam ser apagados ou corrompidos acidentalmente ou algum tipo de vírus ou outras pragas
virtuais.
Dessa forma, a fim de ser caracterizada a realização de um backup contingencial (para ser usado em
caso de contingências), o usuário deve utilizar um outro meio de armazenamento, que não esteja
diretamente vinculado aos equipamentos de uso ou à utilização normal do equipamento em que se
encontram os arquivos e dados que estão sendo utilizados.
Portanto, nesses casos, o ideal é a utilização de alguma mídia removível, após a efetivação dos
procedimentos de backup e sua guarda realizada em local seguro e, se possível, distante do local das
atividades normais.
Tal cuidado é muito importante, pois na eventual ocorrência de um dano ao local onde está o
equipamento ou mesmo de algum problema no Banco de Dados o backup anteriormente realizado
deverá estar em local seguro e, de preferência, longe e isolado do problema que levou à
indisponibilidade daquela informação, a fim de que possa ser baixado (recovery) e, no menor tempo
possível, as atividades operacionais retornarem à normalidade.
Assim, a realização de backups e sua administração são os mecanismos determinantes da
reversibilidade dos efeitos e dos danos provocados por falhas.
Ocorrido um problema ou uma falha, e reinicializado o Banco de Dados, o sistema gerenciador de
Banco de Dados deverá ser capaz de verificar se o encerramento anormal ocorreu, portanto, é
fundamental que esse possua ferramentas capazes de determinar as providências cabíveis e as
tomar no menor tempo possível.
Tais providências correspondem, normalmente, a decidir se o backup deve ser restaurado ou não,
determinar quantas e quais as transações devem ser desfeitas e se é necessário verificar ou rolar o
log de transações.
Disciplina Banco de Dados comerciais – Professor Rinaldo Demétrio
Além disso, há a necessidade de backups operacionais, isto é, a realização de cópias de segurança,
efetivadas durante a execução das atividades operacionais, que ficam bem próximas ou dentro do
mesmo ambiente de trabalho, devido à fragilidade dos equipamentos ou necessidade premente da
informação. Nesses casos, além das técnicas já vistas, de acordo com a necessidade, podem ser
requeridas outras técnicas de backups, as quais veremos a seguir.
Uma das técnicas mais conhecidas de realização de backup de Banco de Dados é chamada de Stand
by, que se utiliza do recurso de um Servidor de Backup. Contudo, nessa técnica, no momento em que
ocorrer a sua utilização, será necessário um auxílio externo para que esse dispositivo possa ficar
disponível para utilização.
Segundo Molina (1990), há uma técnica conhecida em que os backups realizados ocorrem
remotamente: existem dois tipos específicos de backups remotos, sendo um conhecido como “1safe” e, o outro, como “2-safe”.
Dessa forma, no modelo “1-safe”, a grande maioria das transações realizadas no Banco de Dados
principal são automaticamente propagadas para o Servidor de Backup e, logo após, aplicadas. Tal
operação representa que, em caso de algum tipo de desastre, algumas transações que haviam sido
executadas e não geraram os logs poderão ser perdidas.
Já no modelo “2-safe”, o Servidor Principal e o de Backup executam as atualizações em duas fases,
para certificar que as transações serão aplicadas em ambos os Servidores. Tal opção diminui a
performance do Banco de Dados, uma vez que, em cada transação efetivada, seria necessário
esperar o retorno do Servidor de Backup, sinalizando o êxito da execução.
Nesses processos, segundo King (1991), os Servidores de Banco de Dados podem apresentar-se em
três estados (modos) diferentes chamados de produção, em que se realiza a operação normal, em
modo de backup ou em situação de “recuperação”.
Assim, apenas quando o servidor de Banco de Dados estiver em produção é que poderão ser
realizadas as operações normais, ou seja, o Banco de Dados está disponível para receber dados ou
realizar o processamento das transações e essas irão gerar os logs para o Servidor de Backup.
Tipos de Backup
Backups Completo (Full)
O backup conhecido como completo ou Full consiste em realizar o backup de todos os arquivos de
um determinado local ou sistema para a mídia de backup, lembrando que os dados serão uma
fotografia estática do momento em que foram copiados (não são alterados até o próximo backup).
Assim, um backup completo não verifica se o arquivo foi alterado desde o último backup, pois realiza
uma cópia de todas as informações solicitadas para a mídia de backup; mesmo que os arquivos
fontes tenham modificações, essas só serão transferidas junto com os demais arquivos que não
foram modificados no próximo Full.
Dessa forma, verificamos porque os backups completos não são realizados com muita frequência,
uma vez que todos os arquivos seriam gravados na mídia de backup, sendo que, na maioria das
vezes, apenas poucos desses arquivos teriam sido alterados ou atualizados.
Dessa maneira, como vantagem, apresenta o fato de os arquivos serem mais fáceis de localizar
porque estão todos na mídia de backup, requerendo apenas uma mídia ou um mesmo conjunto de
mídias para a recuperação dos arquivos.
Contudo, como desvantagem há o fato de ser, normalmente, bem mais demorado que os outros
tipos e, se os arquivos forem atualizados/alterados com pouca frequência, os arquivos gravados nos
backups serão muito semelhantes.
Backups Incrementais
2
Os backups incrementais, de forma diferente dos completos, primeiro verificam se o horário de
alteração gravado de um arquivo foi mais recente que o do último backup e, caso o arquivo não
tenha sido modificado desde o último backup realizado, este será ignorado na relação de arquivos a
fazerem parte do backup.
Contudo, se as datas de modificação dos arquivos forem mais recentes do que a data registrada
como sendo do último backup, isto é, se houve modificações, este será incluído no backup a ser
realizado.
Quanto à sua utilização, normalmente os backups incrementais trabalham em conjunto com os
backup completos como, por exemplo, realizando um backup completo (Full) semanal e, depois,
diariamente, backups incrementais frequentes ou diários. Nesse caso, para se reconstituir todo o
Banco de Dados, numa eventual necessidade, é obrigatório baixar, realizar o recovery (inicialmente
do Full) seguido de todos os incrementais até a data da ocorrência do problema que danificou a base.
Como vantagem principal, há o fato de os backups incrementais serem realizados bem mais rápido
que os backups completos; como principal desvantagem, o fato de, para ser restaurado determinado
arquivo, é necessário procurar em diversos backups incrementais até que este seja encontrado, além
do fato exemplificado que é o de, para ser restaurado um sistema ou base de dados completa, seria
necessário restaurar o último backup completo e todos os backups incrementais subsequentes.
A fim de minimizar a necessidade da procura em todos os backups incrementais quando da procura
de determinados arquivos, foi implementada uma tática ligeiramente diferente, conhecida como
backup diferencial.
Backups Diferenciais
Os backups diferenciais de certa forma são similares aos incrementais, uma vez que os dois realizam
cópias de segurança somente dos arquivos modificados, porém os backups diferenciais apresentam a
característica de serem acumulativos.
Em um backup diferencial, uma vez que os arquivos são alterados, continuam a ser incluídos em
todos os backups diferenciais até que seja realizado outro backup completo. Dessa forma, cada
backup diferencial apresentará todos os arquivos modificados desde o último backup completo
realizado, bastando, para executar uma restauração completa, apenas o último backup completo
associado à baixa do último backup diferencial. Como estratégia de utilização, os backups
incrementais agem em conjunto com os completos (Full), ou seja, periodicamente é realizado um
backup completo e, até que o próximo ocorra, são feitos backups diferenciais.
Contudo, uma das desvantagens desse tipo de backup é o fato de que, como acumulam os arquivos
alterados desde o último backup Full, a cada um deles o seu tamanho vai crescendo ao longo do
tempo, se mais arquivos forem modificados, como normalmente acontece.
Tal fato faz com que os backups diferenciais, em termos de estratégia, fiquem entre os backups
incrementais e os completos em termos de utilização de mídias de armazenamento e, também,
velocidade. Contudo, como grande vantagem, está o fato de se utilizar um menor número de
backups a serem restaurados e, por essa característica, normalmente, é o mais utilizado quando o
volume de dados atualizados não for tão grande em quantidade ou em volume. Apresenta como
vantagem a recuperação apenas dos últimos backups normal e diferencial. Contudo, como
desvantagem está o fato de que uma restauração completa do sistema poderia levar mais tempo do
que se forem utilizadas outras formas de backup; no caso de ocorrerem diversas alterações nos
dados, estes podem levar mais tempo do que backups do tipo incremental.
Alguns autores citam essas formas de backup apresentadas anteriormente como estratégias, uma
vez que prescindem de análise para sua utilização. Contudo, tais autores acrescentam, como sendo
espécies de backup, os seguintes.
Backups Operacionais
3
• Representam as cópia de segurança realizadas das atividades operacionais e ficam acondicionadas
próximas ou dentro do Ambiente de Trabalho, pois podem ser requeridas com certa urgência para
continuar as atividades operacionais.
Backups Contingenciais
• São cópias guardadas fora do Ambiente de Trabalho a fim de serem utilizadas para resolver
Situações de Contingência.
Backups Legais
• Constituem-se das cópias de segurança realizadas para fins de manutenção de Registros Históricos,
Fiscais ou para Auditoria, uma vez que podem ser solicitadas para esclarecimentos ou por
solicitações legais ou fiscais.
Recuperação Completa e Parcial de Banco de Dados
A recuperação completa dos Bancos de Dados é, via de regra, para os usuários, uma tarefa simples.
Contudo devemos lembrar que, normalmente, dependendo do tamanho do banco de dados, é algo
bem demorado devendo ser realizado em horários de janela de processamento, em que o sistema
não seja utilizado.
Devemos lembrar que ao ser baixado integralmente o backup completo todos os dados anteriores
presentes no backup serão substituídos pelos do backup, ao ser feito o recovery. Às vezes, porém,
além do Banco de Dados principal, outras tabelas ou arquivos, que não apresentaram problemas e
estão mais atualizadas que as do backup realizado, poderiam representar problemas se fossem
substituídas por versões mais antigas.
Assim, a recuperação completa dos dados, operacionalmente, deve requerer uma análise detalhada
e um cuidado em seu planejamento e realização, uma vez que, como vimos, ao ser recuperado
completamente, o Banco de Dados irá substituir o anterior integralmente.
Dessa forma, a fim de evitar as perdas de alguns dados que foram atualizados no período de “janela”
(espaço) entre um backup e outro, podem ser utilizadas algumas estratégias para minimizar os
problemas.
Para tanto, é necessário que os usuários sejam informados de como são realizados os procedimentos
e possam tentar verificar se existem dados e arquivos em bom estado, com datas de atualização
posteriores às da realização dos últimos backups, os quais podem ser, pelo próprio usuário, copiados
para outras áreas ou mídias de armazenamento e, depois da restauração, sobrepor alguns dos dados
restaurados.
Uma das formas de minimizar tais problemas é a utilização de rotinas que contenham a utilização de
comandos de comparação de valores e de arquivos, que variam de acordo com o Sistema de
Recovery ou SGBD utilizados, em que a restauração de todos os arquivos poderá ser realizada em
outra pasta/diretório que não os de uso e tais rotinas verificarão, por exemplo, se os arquivos são
idênticos, significando que o arquivo não precisa ser substituído e que está bom, ou se a data do
arquivo que está no backup é anterior ao do arquivo presente no diretório e, se este estiver em boas
condições, não será trocado.
A restauração parcial de backups implica, basicamente, as especificidades dos softwares utilizados
para realizar os backups. Como a maioria destes apresenta registros de log internos bem detalhados,
é possível permitir aos usuários responsáveis a escolha específica do que se quer restaurar,
fornecendo um estado operacional consistente e utilizável.
Contudo, esse processo de escolha pode ser normalmente, um pouco complicado, uma vez que pode
depender de intervenção manual ou da confecção de rotinas.
4
Download

Técnicas de Backup e Recovery