Prévia do material em texto
Considere o conteúdo do arquivo de LOG mostrado onde, um registro <T, start> indica o início de uma transação, um registro <T, commit> indica o seu final, e IA,IB... indicam os itens afetados pelas transações. Assim, no registro 2. <T1,IA,200,500>, temos respectivamente T1 como um identificador de transação, IA como o item afetado, 200 o seu valor antigo e 500 o seu novo valor. 1. <T1, start> 2. <T1,IA,200,500> 3. <T2,start> 4. <T2,IB,400,500> 5. <T1,IC,560,340> 6. <T2,ID,659,333> 7. <T2,commit> 8. <T3,start> 9. <T3,IE,445,559> 10. <T1,IF,2234,344> 11. <T1,commit> 12. <T4,start> 13. <T4,IG,2323,445> 14. <T3,IH,767,545> 15. <T4,II,333,445> 16. <T4,commit> 17. <T3,IJ,555,888> 18. <T5,start> 19. <T5,IK,5454,304> 20. <T5,commit> 21. <T3,IL,564,23> 1) Considere a ocorrência de uma falha após a gravação em disco do registro 21 Considerando os registros do LOG e o uso da técnica de modificação adiada: a) Sobre quais transações deveria ser executada a operação REDO ? b) Sobre quais transações deveria ser executada a operação UNDO ? Considerando os registros do LOG e o uso da técnica de modificação imediata: c) Sobre quais transações deveria ser executada a operação REDO ? d) Sobre quais transações deveria ser executada a operação UNDO ? 2) Considerando os registros do LOG a técnica de modificação imediata e considerando ainda que ocorreu um “checkpoint” após a gravação do registro 19 . <T5,IK,5454,304>: a) Sobre quais transações deveria ser executada a operação REDO ? b) Sobre quais transações deveria ser executada a operação UNDO ?