Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição - PDF
Download "Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição"
Samuel Peixoto Casado
1 Sumário Administração de Banco de dados Módulo Administração de SGBDs - Continuação 1.1. Recuperação (Recovery) Recuperação de sistema Recuperação da mídia M. Sc. Luiz Alberto Recuperação (Recovery) 1 Recuperação (Recovery) - Definição Ilustração Backup-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. 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. 2 BD (estado atual) Backup Recovery 3 Cópia Física em Local Seguro
2 Tipo de Falhas 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. Tipo de Falhas 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. 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. 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. 4 5 Recuperação de sistema 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 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. Finalmente, quando toda essa atividade de recuperação for concluída, então o sistema estará pronto para aceitar um novo trabalho. 6 7
3 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 Considerações Finais É função do DBA utilizar um gerenciamento de backup-recovery para cada tipo de erro. Por exemplo, um DBA não comandará um recovery de todos os dados do banco, quando um problema ocorreu apenas em um arquivo de controle. 8 9 Sumário Administração de Banco de dados Módulo Administração de SGBDs - Continuação 1.1. Replicação de Dados M. Sc. Luiz Alberto Replicação de Dados ADM-BD Módulo 13 11
4 Replicação de Dados - Definição Replicação de banco de dados é a cópia dos dados de um banco de dados original para outro banco. Muitos bancos de dados comerciais hoje permitem replicação, que pode assumir uma das várias formas. Replicação de Dados - Definição Com a replicação mestre-escravo (master-slave), o banco de dados permite atualizações em um site primário e propaga automaticamente as atualizações para as réplicas em outros sites. As transações podem ler as réplicas em outros sites, mas não têm permissão para atualizá-las. Um recurso importante de tal replicação é que as transações não têm bloqueios em sites remotos. ADM-BD Módulo ADM-BD Módulo Replicação de Dados - Definição Replicação mestre-escravo O banco de dados pode ser configurado para propagar as atualizações imediatamente após elas ocorrerem no site primário, ou propagar as atualizações apenas periodicamente. ADM-BD Módulo A replicação mestre-escravo é particularmente útil para distribuir informações, por exemplo, de um escritório central para os escritórios das filiais de uma organização. Outro uso para essa forma de replicação é na criação de uma cópia do banco de dados para executar grandes consultas, de modo que as consultas não interfiram com as transações. As atualizações devem ser propagadas periodicamente a cada noite, por exemplo de modo que a propagação da atualização não interfira com o processamento da consulta. ADM-BD Módulo 13 15
5 Replicação mestre-escravo Servidores mestre estão ambos sincronizados transmitindo escrita atualizações e transações em tempo real. Servidores mestre-escravo estão ambos sincronizados transmitindo em tempo real. Replicação Multimestre Com a replicação multimestre (também chamada replicação de atualização em qualquer lugar) as atualizações são permitidas em qualquer réplica de um item de dados e são propagadas automaticamente a todas as réplicas. Esse é o modelo básico usado para gerenciar os bancos de dados distribuídos. As transações atualizam a cópia local e o sistema atualiza outras réplicas de forma transparente. ADM-BD Módulo ADM-BD Módulo Simulação de Desempenho Para testar o desempenho de um sistema de banco de dados, mesmo antes que este seja instalado, podemos criar um modelo de simulação de desempenho. Cada serviço como CPU, disco, buffer e controle de concorrência, é modelado na simulação. Simulação de Desempenho Em vez de modelar detalhes de um serviço, o modelo de simulação só pode capturar alguns aspectos de cada serviço, como o tempo de serviço, ou seja, o tempo gasto para terminar de processar uma solicitação, uma vez que o processamento tenha se iniciado. Assim, a simulação pode modelar um acesso ao disco a partir apenas do tempo médio de acesso ao mesmo ADM-BD Módulo ADM-BD Módulo 13 19
6 Simulação de Desempenho Como as solicitações para um serviço geralmente precisam esperar sua vez, cada serviço possui uma fila associada no modelo de simulação. Uma transação consiste em uma série de solicitações. As solicitações são enfileiradas à medida que chegam, e são atendidas de acordo com a política para esse serviço, na qual o primeiro a chegar, é o primeiro a ser atendido. Os modelos para serviços como CPU e discos conceitualmente operam em paralelo, levemos em conta o fato de que esses subsistemas operam em paralelo em um sistema real. M. Sc. Luiz Alberto Administração de Banco de dados Módulo 14 Software Livre ADM-BD Módulo Sumário 1. Definir a Melhor Solução de Banco de Dados para as Necessidades da Empresa 1.1. O Uso das Tecnologias O software livre Software Livre - Introdução Medeiros (2006) afirma que nos últimos anos, a área de banco de dados sofreu uma grande modificação com a chegada das ferramentas gratuitas, ou de uso livre, como normalmente são chamadas. Tão importante quanto o fato de serem gratuitas, foi o fato de as ferramentas se apresentarem robustas e confiáveis, o que agradou muito o mercado de trabalho
7 Software Livre - Introdução As ferramentas gratuitas estão baseadas na ideia de software livre, que tem como princípio: software livre é uma questão de liberdade, não de preço. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente: A liberdade de executar o programa para qualquer propósito; A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para essa liberdade; A liberdade de redistribuir cópias de modo que você possa ajudar o seu próximo; A liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. SGBD Software Livre O software livre é uma tendência de mercado. As ferramentas atuais, como o MySQL, PostGreSQL, Firebird e outros, têm apresentado a cada ano versões mais confiáveis e amigáveis, que permitem ao usuário realizar as mesmas rotinas de outros bancos de dados proprietários com a mesma qualidade SGBD Proprietário As ferramentas proprietárias existentes no mercado, como Oracle e MS-SQLServer, também têm sua grande contribuição no mercado de trabalho como ferramentas robustas, confiáveis e de larga utilização, principalmente pelas empresas de grande porte. Situação Atual O mercado de banco de dados está em constante atualização e dessa forma abre espaço para todos os tipos de ferramentas. Isso é bom porque abre portas para os profissionais da área de tecnologia da informação, em especial aos com conhecimento em banco de dados. Um especialista em tecnologia da informação não é um especialista em ferramentas, mas em soluções. Logo, ele não deve se prender a fabricantes ou produtos e, sim, estar preparado para as constantes mudanças que o mercado deverá sofrer
8 Situação Atual Apesar das mudanças, as ferramentas de banco de dados tendem a facilitar a vida do profissional de informática, tornando a sua produção maior e mais eficiente, evitando que ele tenha que editar comandos manualmente ou criar tabelas através de comandos extensos. 28