5 - Rollback de transação e rollback em cascata

Se uma transação falhar por um motivo qualquer depois de atualizar o banco de dados, mas antes que a transação seja confirmada, pode ser preciso reverter (roll back) a transação. Se quaisquer valores de item de dados tiverem sido alterados pela transação e gravados no banco de dados, eles precisam ser restaurados para seus valores anteriores (BFIMs).

As entradas de log do tipo UNDO são usadas para restaurar os valores antigos dos itens de dados que precisam ser revertidos. Se uma transação “A” for revertida, qualquer transação “B” que tenha, enquanto isso, lido o valor de algum item de dados gravado por “A” também deve ser revertida.

De modo semelhante, quando “B” for revertida, qualquer transação “C” que tenha lido o valor de algum item de dados gravado por “B” também precisa ser revertida, e assim por diante.

Esse fenômeno é chamado de rollback em cascata (propagação de cancelamento), e pode ocorrer quando o protocolo de recuperação garante a propagação de efeitos em dados compartilhados por mais de uma transação.
Copyright © 2016 AIEC.