RECUPERAÇÃO APÓS FALHA

Slides:



Advertisements
Apresentações semelhantes
Checkpoint SGBD com alta demanda de transações Checkpoint
Advertisements

CONTROLE DE CONCORRÊNCIA
Introdução Gdes. bancos de dados: Concorrência: Transação:
Controle de Concorrência Serializabilidade
Sistema de recuperação
Requisitos dos SGBD Recuperação/Tolerância a Falhas
01/08/2011 Professor Leomir J. Borba- –
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
SISTEMAS DE INFORMAÇÃO
Sistemas de Informação Redes de Computadores
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Recuperação de falha Msc, Marcelo Bezerra de Alcântara
© Marcelo Bezerra de AlcântaraBanco de Dados II – Controle de Concorrência - 1 Disciplina Banco de Dados II Introdução ao Controle de Concorrência Msc,
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação.
Bloqueios partilhados
Gestão de transacções noções básicas modelo simples modelo elaborado
1 Gabriel David FEUP - Rua dos Bragas, 4099 Porto Codex - PORTUGAL Tel Fax: URL:
Motor de Armazenamento
Transações Atômicas Distribuídas
Transações Atômicas Distribuídas
Gerenciamento de Disco e de Buffer - Resumo
Cap Recuperação Pretende garantir a atomicidade e durabilidade das transações. Atomicidade => É responsabilidade do gerente de recuperação voltar.
Sumário 1 SQL Embutida 2 Processamento de Consultas
Modelos de Transações para Ambiente de Computação Móvel
Iniciando Banco de Dados
Processamento de Transação
Banco de Dados Oracle AESO.
Fabio Notare Martins Pontifícia Universidade Católica do Rio Grande do Sul Programa de Pós-Graduação em Ciências da Computação.
Fundamentals of Database Processing
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Sistemas Operacionais I
Gerenciamento de Transações - Introdução
MY DRIVERS ATIVIDADE DE INFORMÁTICA Amaury Wallace dos Santos
Banco de Dados II Prof. Antônio Cordeiro.
Controle de Concorrência em Transações Álvaro Vinícius de Souza Coêlho
Tipos de Backup.
SGBD - Regra 1 Regra 1: Auto-Contenção- Um SGBD não contém apenas os dados em si, mas armazena completamente toda a descrição dos dados, seus relacionamentos.
Conceitos de Banco de Dados
Data Replication and Resiliency Trabalho realizado por: Rui Ferreira Nº Eng. Informática.
Prof. Alessandro Gonçalves
Transações Prof: Galina
My Drivers. Introdução e Apresentação -O que são ‘drivers do computador’ (no sentido de arquivos que permitem que o sistema operacional acesse os recursos.
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
Controle Distribuído da Concorrência
Exercícios SGBD - CESPE
Transações Atômicas Distribuídas Prof. Alcides Calsavara
Controle de concorrência
BD Distribuído Conceitos Iniciais.
Unidade Central De Processamento: Processador
Controle de Concorrência Locks. Conceito de Transação Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho.
Prof. Alessandro Gonçalves
Assunto: Transações concorrentes, Disciplina: Banco de dados II, profa. Cristina Paludo Max W. Ourique Ranieri R. Tremea
SCC Bancos de Dados e Suas Aplicações
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Backup Ação de copiar arquivos, como medida de segurança, permitindo sua recuperação em caso de perda.
Falhas.
Subsistema de Entrada e Saída do Kernel
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
My drivers Emily Bustamante Moreno & Tatiana Aimée de Souza Santos.
Deadlocks Impasses Vinícius Pádua.
Microsoft SQL Server Instruções para instalação/ recuperação de bancos de dados no SQL Server.
UCSal – Bacharelado em Informática
Sistemas Operacionais IV – Gerenciamento de E/S
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
 Trabalho realizado por:  Francisco de Assis Marinho Lanza;  Simone Martins Rodrigues;  Tânia Moraes Nascimento da Fonseca.
Transcrição da apresentação:

RECUPERAÇÃO APÓS FALHA

Material baseado nas aulas da prof. Renata Vilas Boas Motivação Conceitos Básicos Meios de Armazenamento Tipos de Falha e sua Recuperação LOG Checkpoint

Propriedades de uma transação Atomicidade: Todas as ações na transação acontecem, ou nenhuma acontece. Consistência: Se toda a transação é consistente, e o BD inicia consistente, então o BD termina consistente. Isolamento: A execução de uma transação é isolada de outras transações. Durabilidade: Se uma transação é finalizada, seu efeito persiste.

Motivação Sistema de computador está sujeito a falhas Existem diversos tipos de falhas, as quais podem acarretar perda dos dados O sistema deve garantir que as propriedades de atomicidade e durabilidade das transações sejam preservadas

Motivação Falha BD Consistente BD Inconsistente Transações BD Consistente Falha BD Inconsistente Técnicas de Recuperação

Conceitos Básicos Transação Recuperação Condição básica Unidade de trabalho; Unidade de recuperação As propriedades devem ser preservadas Recuperação O SGBD é acionado automaticamente para resolver os tipos de falhas esperados Condição básica Armazenamento de informação redundante durante o funcionamento normal (log, backup) Estado do BD deve ser recuperado Ao mais recente estado consistente antes da falha (satisfaz todas as restrições de integridade)

Quanto você está disposto a perder? Observe O planejamento e o processo de Back Up geralmente envolve a seguinte questão: Isto porque é preciso conhecer o funcionamento do gerenciador de recuperação, determinar a frequência com que será feito o Backup e onde ele ficará armazenado No pior caso, se o backup estiver guardado próximo a máquina com os dados e a sala que eles estiverem pegar fogo.... Quanto você está disposto a perder?

Meios de Armazenamento Volátil Buffer Os dados estão armazenados na memória principal do computador Acesso mais rápido A informação residente neste meio usualmente, não sobrevive a quedas no sistema Não-volátil Os dados estão armazenados em discos e/ou fitas A informação residente neste meio sobrevive a quedas no sistema mas pode não sobreviver a falhas neste meio Estável A informação residente neste meio “nunca” é perdida Meio mais seguro do que a não-volátil

Tipos Falhas Falha de transação Falha do sistema Falha de Mídia Erro lógico. A transação não pode continuar sua execução normal devido a alguma condição não satisfeita Erro de sistema. O sistema entrou em um estado inadequado (deadlock) Falha do sistema Queda de energia. Não danifica fisicamente o BD, mas as informações em memória volátil são perdidas. Afeta todas as transações em curso no momento Falha de Mídia Bloco de disco perdeu conteúdo em função da quebra do cabeçote ou falha durante a transferência de dados. Danifica fisicamente o BD

Como recuperar o BD? Falha de transação Falha do sistema Desfazer as operações já realizadas pela transação até o início da transação ou até um determinado ponto dentro da transação Falha do sistema Recuperar o mais recente estado consistente do BD que existia antes da falha Refazer ou desfazer transações Falha de disco Refazer o BD utilizando um BD espelho ou uma cópia de segurança

Arquitetura do Gerenciador de Recuperação Transações Gerenciador de Recuperação Escalonamento BD Cópia de segurança Log Log  recuperação de curta duração Falha de transação Recuperação de média e longa duração Falha de sistema (BD + Log) Falha de disco (Cópia de segurança + Log)

Recuperação usando Log Arquivo onde ficam armazenadas todas as operações realizadas no BD Cada vez que é executada uma operação sobre uma linha de uma tabela é criado uma entrada (ou registro) no Log Exemplos de registros no Log: [begin_Transaction, T] [write, T, X, old, new] [read, T, X] [commit, T] [abort, T]

Log Armazenado na memória principal, em meio não-volátil e em meio estável É um arquivo serial que guarda todas as modificações que foram realizadas no BD e quais transações realizaram quais modificações Este arquivo é lido durante o processo de recuperação pois pode levar um BD ao seu último estado consistente antes da falha Uma transação só é considerada executada quando todos os registros do Log desta transação estiverem armazenadas no banco de dados físico Registros do Log devem ser armazenados no arquivo na ordem em que eles foram criados (exemplo: antes que o registro <commit, Ti> seja armazenado no arquivo, todos os outros registros desta transação já devem estar)

Recuperação de Falha de Transação Deve ser executada pelo SGBD quando uma transação que estava sendo executada é cancelada (explícita/implícitamente) Recuperação Os efeitos da transação em questão devem ser desfeitos Para isso, deve-se varrer o arquivo de Log para identificar as operações já realizadas pela transação

Recuperação de Falha do Sistema O SGBD parou de executar Operações que estavam na memória volátil não foram armazenadas na memória física Consequentemente Todas as transações que estavam em execução no momento da falha devem ser desfeitas Questão: Como o SGBD sabe as transações que estavam em execução? Deverá varrer todo o Log?

Checkpoint Ponto de controle De tempos em tempos, o SGBD escreve no Log um registro especial chamado checkpoint, que serve para registrar as transações em execução A execução de um checkpoint envolve: Gravar fisicamente o conteúdo do BD da memória volátil no BD físico Gravar fisicamente (meio estável) o conteúdo do Log Gravar um registro de checkpoint no Log Se não existe este registro, teríamos que investigar todo o arquivo de Log para recuperar o BD

Checkpoint Quando ocorre uma falha de sistema Todas as transações cujos registros <commit, Ti> estejam depois do checkpoint mais recente gravado no Log Devem ser refeitas (REDO) Todas as transações cujos registros <begin transaction, Ti> estejam no Log mas os registros <commit, Ti> ou <rollback, Ti> não estejam Devem ser desfeitas (UNDO)

Quando ocorre uma falha, o SGBD verifica o último checkpoint Tempo Checkpoint Falha do sistema T1 T2 T3 T4 T5 Quando ocorre uma falha, o SGBD verifica o último checkpoint A recuperação de cada uma das transações ocorre das seguintes maneiras T1 não é afetada T2 e T4 já estão completadas mas não conseguiram ter suas atualizações gravadas no BD físico  Refazê-las T3 e T5 ainda não tinham sido encerradas  Desfazê-las

Recuperação de Falha de Disco O BD está danificado! Uma falha deste tipo ocorre raramente, mas deve ser prevista Necessita de uma cópia de segurança (backup) atualizada periodicamente O BD deve ser restaurado pela carga da cópia de segurança e pelo uso do Log para refazer todas as operações feitas após a cópia

Tipos de Backup Completo Diferencial Banco de Dados Arquivo de Log Realiza o backup de todo o banco de dados Arquivo de Log Realiza o backup apenas do Log Diferencial Realiza o backup apenas da parte que foi modificada após o último backup

Exercícios Discuta os tipos de falhas que podem ocorrer a um BD. O que é checkpoint? Qual a importância de gravar um registro de checkpoint no Log? Explique o procedimento que deve ser feito para restaurar o BD no caso de uma falha do sistema.

Exercícios Responda: (1) O que acontece depois da falha com cada transação e por quê? (2) Qual o valor dos dados após o processo de recuperação? [início, T1] [read, T1, A] [read, T1, B] [início, T2] [read, T2, C] [write, T1, A, 3, 20] [commit, T1] [write, T2, C, 2, 40] [início, T3] [read, T3, B] [checkpoint] [write, T3, B, 10, 8] [commit, T3] [início, T4] [read, T4, A] [write, T2, D, 0, 25] [início, T5] [write, T4, A, 20, 15] [read, T5, A] [commit, T4] [write, T5, A, 15, 65] [read, T2, B] FALHA!