Banco de Dados II — 2026.2

Aula 8
Recuperação

👨‍🏫 Prof. Gustavo Pinto 🏛️ UFPA 📅 12 de novembro de 2026 🕐 7h30 – 9h

Agenda de hoje

Três tipos de falha

De transação

O comando falha, ou o usuário pede rollback. Resolvido no M6.

De sistema

A máquina cai. A memória some, o disco fica. É o M7.

kill -9

De mídia

O disco morre. Só backup e replicação resolvem.

fora do escopo

A regra

Escreva no log, e force o log para o disco, antes de escrever a página de dados. Em inglês, write-ahead logging.

O que acontece na partida

Refazer precisa ser idempotente: aplicar duas vezes tem que dar o mesmo resultado que aplicar uma.

Por que refazer o que já está no disco?

Não seria mais rápido refazer só o necessário?

O critério de pronto, enfim

Um SELECT com WHERE, dentro de uma transação, e o banco volta consistente depois do kill -9 no meio do commit.

Dúvidas?

Próxima: laboratório do M7, e o kill -9

📧 gpinto@ufpa.br