envolvido na transacao, ou seja, consiste na restauracao do banco de dados para um estado consistente logo apos uma falha leva-lo a um estado inconsistente. Desse modo, o mecanismo de recuperacao e uma forma de se garantir a propriedade de consistencia, uma das propriedades ACID conforme visto anteriormente, em uma transacao.Considerando o fato de que uma transacao pode e geralmente e composta por mais de uma operacao, torna-se necessario que nao seja permitido, nestes casos, que uma ou mais operacoes deixem de serem executadas, ou que sejam executadas com falha. Isto tornaria o banco de dados inconsistente, fato este indesejavel para sistemas confiaveis. Garantir que todas as operacoes pertencentes a uma transacao sejam executadas da forma desejada seria o ideal para garantir a consistencia das transacoes, no entanto isto e algo impossivel de ser alcancado. Os sistemas de gerenciamento de transacoes, com o intuito de suprir essa deficiencia, fornecem mecanismos de recuperacao, os quais no caso de ocorrencia de falhas durante a execucao de uma transacao, desfazem todas as modificacoes realizadas pela transacao em questao. Dessa forma garante-se a propriedade de atomicidade de uma transacao, na qual a transacao ou e executada totalmente ou deve ser cancelada integralmente como se nunca tivesse sido realizada. (CARVALHO, 2000). O componente de sistema responsavel por garantir a atomicidade de uma transacao e o gerenciador de transacoes, tambem conhecido como monitor de processamento de transacao (monitor TP). O funcionamento do mecanismo de recuperacao baseia-se na utilizacao das operacoes commit e rollback. Atraves da operacao commit o gerenciador da transacao toma conhecimento do termino bem sucedido de transacao, e, portanto, deve validar, ou seja, tornar permanente todas as modificacoes realizadas por esta unidade logica de trabalho. Ja a operacao rollback indica o termino de uma transacao mal sucedida, sinalizando ao gerenciador que todas as modificacoes realizadas por esta transacao devem ser desfeitas. Uma questao importante a ser salientada e que em sistemas reais, no caso de ocorrencia de falhas durante a execucao de uma transacao, alem da recuperacao do banco de dados, uma mensagem de aviso de erro deve ser enviada ao usuario. As modificacoes realizadas por uma transacao podem ser desfeitas das seguintes maneiras: Recuperacao baseada em Log o sistema mantem um log no qual sao registrados detalhes de todas as modificacoes realizadas por uma transacao, bem como a identificacao da transacao e o dado modificado por ela, alem do seu valor antigo e do valor novo. Desse modo, no caso de uma transacao mal sucedida, o sistema utiliza as entradas de log correspondentes a transacao em questao a fim de restaurar o estado do banco de dados antes do inicio desta transacao. Recuperacao baseada em Checkpoint a diferenca entre este tipo de recuperacao e a baseada em log e que neste caso checkpoints (marcas) sao criados no arquivo de log para indicar que todas as operacoes definidas antes dele ja foram efetivadas em disco. Portanto, em caso de falha, somente as operacoes definidas depois do ultimo checkpoint devem ser refeitas. Recuperacao usando Copia Shadow (Sombra) esse esquema baseia-se na realizacao de copias do banco de