SóProvas


ID
249493
Banca
CESPE / CEBRASPE
Órgão
DETRAN-ES
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens de 81 a 94, acerca de princípios, métodos, técnicas
e processos da engenharia de software e de bancos de dados.

Se, em um SGBD, ocorrer uma falha de sistema que impeça o funcionamento do ambiente quando uma transação estiver em andamento, uma operação de roolback e, em seguida, uma operação de recovery serão executadas quando o SGBD voltar ao estado operacional.

Alternativas
Comentários
  • ERRADO. Se o erro aconteceu durane a transação, significa que os dados ainda não  foram persistidos por meio de um COMMIT. Neste caso, basta fazer um rollback (na questão está escrito roolback, errado). O banco de dados irá retornar ao seu último estado consistente. O recovery não é necessário. Este é o erro da questão.
  • facilmente anulável pois o correto é "rollback" e não "roolback"
  • O commit não foi realizado. 
  • O erro é que, se nenhuma mudança foi finalizada (ainda não foi feito o COMMIT), não é necessário (e nem faz sentido) fazer um rollback.



  • Relativamente ao comentário do colega acima, o ROLLBACK faz sentido sim, justamente porque não foi feito o COMMIT. Esta é justamente a função dele. Uma vez executado o COMMIT, o ROLLBACK não tem mais efeito sobre a(s) transação(ões).

    Bons estudos!!
  • O livro do Silberchatz elenca dois tipos de falhas: falhas de transações e falhas de sistema;

    No caso das falhas de sistema, objeto da questão, a recuperação dá-se em duas fases:

    fase redo: varre o log, repete todas as atualizações a partir do último checkpoint até o fim do log; Nesta mesma fase são identificadas as transações que começaram mas que não haviam sido concluídas.

    fase undo: as transações não comitadas, identificadas na fase anterior, são revertidas (rollback);

    Ou seja, primeiro faz o replay de todas as transações a partir do último ponto de verificação e na sequencia reverte (faz o rollback) das pendentes.


  • Commit: processo de gravação no BD da transação efetuada com sucesso

    RollBack: é um processo que retorna à configuração anterior caso ela não seja bem sucedida.

    "Dessa forma, se tudo ocorrer bem, as operações de gravação de uma transação devem ser confirmadas – o que chamamos de COMMIT; caso ocorra alguma falha, as operações de gravação de uma transação devem ser desfeitas – o que chamamos de ROLLBACK."

    Fonte: Estratégia.

  • GABARITO ERRADO!

    .

    .

    Os comandos DTL são responsáveis por gerenciar diferentes transações ocorridas dentro de um banco de dados.

    Ele é dividido em 3 comandos:

    BEGIN TRAN (OU BEGIN TRANSACTION) – Marca o começo de uma transação no banco da dados que pode ser completada ou não.

    COMMIT – Envia todos os dados da transação permanentemente para o banco de dados.

    ROLLBACK – Desfaz as alterações feitas na transação realizada.