Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unidade III ADMINISTRAÇÃO DE BANCOS DE DADOSBANCOS DE DADOS Prof. Luiz Fernando Administração de SGBDs De todo o tipo de pessoal envolvido com desenvolvimento, manutenção, e utilização de bancos de dados há dois tipo básicos de envolvidos: Usuários; Administradores. Usuários de Bancos de Dados Usuários se dividem em 4 tipos: Leigos: interagem por programa aplicativos (formulários); Programadores: escrevem os programa aplicativos (usam RAD – Rapidaplicativos (usam RAD Rapid Aplication Development); Avançados: interagem diretamente, sem programas (DML como o SQL); Especializados: escrevem aplicações especializadas (não tradicionais baseespecializadas (não tradicionais – base de conhecimento; áudio, imagens; ...). Administradores de Bancos de Dados Um administrador de banco de dados é a pessoa com controle total sobre o sistema; Esse profissional é conhecido como DBA, formalmente: Data BaseDBA, formalmente: Data Base Administrator; Suas responsabilidades orbitam a operacionalidade do banco de dados, garantindo sua “saúde”. Administradores de Bancos de Dados São funções do DBA: Definição de esquema (usando DDL); Definição de métodos de acesso; Modificação de esquema e de organização física;organização física; Concessão de direitos de acesso; Manutenção de rotina – backups, espaço em disco, monitoramento de tarefas. Interatividade Quais as funções do DBA? a) Definição/modificação de esquema; concessão de direitos; manutenção de rotina; b) Escrever programas de aplicação comb) Escrever programas de aplicação com RAD; definir métodos; c) Realizar backup periódicos; escrever aplicações especialistas; d) Todas as anteriores; e) Nenhuma das anteriores. Segurança – Controle de Acesso DBA implementa mecanismos de segurança com garantia ou restrições de acesso. Podem ser: Login e senha; Registro de acesso e operações; Registro de acesso e operações; Autorizações (privilégios): Leitura de dados; Inserção de dados; Alteração de dados; Alteração de dados; Exclusão de dados. Segurança – Controle de Acesso O DBA pode conceder um a um os privilégios, ou um grupo deles, ou mesmo todos; O DBA pode também por oposição restringir um a um; Essas concessões e restrições podem se aplicar a porções do banco de dados; Concessões são conhecidas por GRANT e restrições por REVOKE; O SGBD implementa uma grande porção O SGBD implementa uma grande porção deste mecanismo. Recovery ou recuperação A necessidade de recuperação decorre de algum tipo de pane no sistema, que o coloca em estado não correto, ou pelo menos não garantidamente correto. Essas panes, ou falhas, podem ser locais ou globais. Falhas locais podem ser exemplificadas como um estouro de capacidade em uma transação. Falhas globais podem ser, por exemplo,Falhas globais podem ser, por exemplo, quedas de energia, e potencialmente afetam todas as transações em curso. Recovery ou recuperação As falhas globais podem ser divididas em: Falhas do sistema – afetam todas as transações mas não comprometem fisicamente o banco de dados: Chamada de soft crash;Chamada de soft crash; Exemplo: queda de energia. Falhas de mídia que causam danos ao banco de dados ou a parte dele e afetam todas as transações que usam tal parte do banco:do banco: Chamada de hard crash; Exemplo: quebra de disco. Interatividade Quais são os quatro fundamentais tipos de privilégios em bancos de dados? a) Login, Senha, Registro, Grant; b) Grant, Log, Revoke, Login; c) Leitura Login Exclusão Log;c) Leitura, Login, Exclusão, Log; d) Leitura, Inserção, Atualização, Exclusão; e) N.D.A. Recovery ou recuperação O crítico das falhas de sistema é a perda de conteúdo da memória principal, o que leva a ao desconhecimento do estado exato de qualquer transação em curso. Transações em curso não poderão ser concluídas e devem portanto ser desfeitas ao reinicializar o sistema. Possivelmente transações concluídas devam ser desfeitas por falta de oportunidade de sua gravação em disco, uma vez que poderiam estar em buffers aguardando sua transferência efetiva para o banco físico em disco. Recuperação de sistema O sistema mantém um arquivo log (diário de bordo) onde se registram as operações realizadas, principalmente valores de objeto antes e após cada atualização. Pela manutenção de pontos de verificação (checkpoints) no log o sistema pode avaliar que transações devem ser desfeitas e/ou refeitas. Manter um checkpoint envolve: Gravar os buffers fisicamente em disco; Gravar fisicamente o checkpoint no log físico. Recuperação de sistema Os checkpoint fornecem uma listas das transações em andamento. O sistema percorre o log do fim para o início, desfazendo transações: Recuperação reversa.Recuperação reversa. A seguir percorre o log de novo para frente refazendo transações: Recuperação direta. Após esta atividade o sistema está apto a voltar a operar. Recuperação de mídia Basicamente essa recuperação envolve a recarga do banco de dados a partir de um backup. Em seguida com log efetua-se o refazimento das transação posteriores ao backup e anteriores à falha. Não há desfazimento de transação, pois parte-se de um backup com transações concluídas. O backup é obtido por um utilitário deO backup é obtido por um utilitário de dump/restore (descarga/recarga), em sua fase dump. Por conseguinte a recarga com a fase restore. Interatividade Qual a importância de manter checkpoints? a) Garantir apenas as recuperações de soft crash; b) Garantir apenas as recuperações de hard crash;hard crash; c) Garantir acesso a um histórico de transações em aberto ou concluídas; d) Dar ocupação em tempo parcial ao DBA; e) N.D.A. Replicação de dados É a cópia de dados de um banco de dados original para outro. Replicas prestam grande ajuda no desempenho do sistema. Na replicação mestre-escravo (master-Na replicação mestre escravo (master slave), o banco permite atualizações e as propaga para as cópias. As transações podem ler dados nas cópias mas não gravá-los. A propagação pode ser imediata ouA propagação pode ser imediata ou periódica. Replicação mestre-escravo Uma das utilizações é permitir o uso intensivo em consultas sem acarretar interferência nas transações. Um recurso importante é que as transações não têm bloqueios na cópias remotas. Para garantir a consistência do banco de dados a réplica deve refletir um snapshot (foto instantânea) do original até determinada n-ésima transação e não além dela. Replicação mestre-escravo O banco de dados Oracle admite: Uma instrução “create snapshot”, que pode criar uma cópia de uma relação consistente; O refresh (renovação) do snapshotO refresh (renovação) do snapshot atualizando-o de modo incremental; Refresh automático, seja contínuo, ou em intervalos periódicos. Replicação multimestre Comum em bancos de dados distribuídos, permite atualizações em qualquer réplica que são propagadas automaticamente. As transações atualizam a cópia local e o sistema atualiza outras réplicas automaticamente. A “propagação lenta” é uma alternativa que permite o processamento da transação mesmo sem conexão com a rede, porém com risco de perda de consistência. Propagação lenta Duas técnicas: Atualizações nas réplicas são refletidas no site primário e propagadas lentamente às réplicas, garantindo que atualizações em um item sejam ordenadas em série; Atualizações realizadas em qualquer réplicae propagadas à demais, porém fica-se exposto à atualização simultânea de um mesmo itens em diversos locais. É desejável evitarmos essas técnicas por sua fragilidade. Melhoria de desempenho P t t d h d i Para testar desempenho podemos criar modelos de simulação. Cada serviço é modelado (CPU, disco, buffers, ...). As solicitações geralmente precisam esperar sua vez, assim cada serviço tem uma fila associada. Com o modelo criado o administrador do sistema pode executar experiências sobre o mesmo, descobrindo como o sistema de comporta sob diversas condições de carga. Os parâmetros do sistema podem ser variados na simulação, permitindo o ajuste de desempenho no modelo. Interatividade Para que pode ser utilizada a replicação de dados em bancos de dados? a) Para criar uma situação de possível inconsistência por duplicidade; b) Aumentar a disponibilidade do sistemab) Aumentar a disponibilidade do sistema para consultas, diminuindo o tempo de resposta; c) Para impedir o acesso distribuído em diversos locais; d) Apenas como forma de backup;d) Apenas como forma de backup; e) N.D.A. ATÉ A PRÓXIMA!
Compartilhar