Antes do Oracle terminar uma transação deve acontecer explic...

Próximas questões
Com base no mesmo assunto
Q26420 Banco de Dados
Antes do Oracle terminar uma transação deve acontecer explicitamente uma operação de
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta correta: B - commit ou rolling back, apenas.

Essa questão aborda o tema de finalização de transações no contexto de um banco de dados Oracle. Para entender como resolver a questão, é necessário conhecer o conceito de transações e os mecanismos disponíveis para controle de transações no Oracle. Uma transação é uma sequência de operações atômicas que devem ser completadas para que o banco de dados permaneça consistente. Transações no Oracle são finalizadas de duas maneiras principais:

  • Commit: Quando uma transação é concluída com sucesso, um commit é executado para tornar permanentes todas as mudanças feitas durante a transação. Isso significa que todas as operações realizadas dentro do escopo da transação são aplicadas e gravadas no banco de dados.
  • Rolling back: Se ocorrer um erro, ou o usuário decidir desfazer as operações realizadas durante a transação, um rolling back (rollback) é executado. O rollback desfaz todas as operações da transação, retornando o banco de dados ao estado em que estava antes de a transação ter iniciado.

Os termos rolling forward e savepoint não são operações que finalizam uma transação. Rolling forward está mais associado a um processo de recuperação de dados após um falha, onde as transações confirmadas são reaplicadas a partir do log de redo. Já os savepoints são pontos de salvamento dentro de uma transação que permitem um rollback parcial até aquele ponto, mas não finalizam a transação.

Portanto, a alternativa correta é a B, porque apenas o commit e o rollback são operações que efetivamente terminam uma transação, seja confirmando as mudanças no banco de dados ou desfazendo-as. Esse conhecimento é fundamental para profissionais da área de banco de dados que trabalham com Oracle, especialmente em ambientes onde a consistência de dados é crítica.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Durante o processo de uma transação podem ser utilizados os savepoints,  a fim de possibilitar um rollback de apenas partes da transação. Porém no fim da transação ou ela é confirmada com sucesso através do commit ou retrocedida até o último commit ou savepoint através do rollback. [1]

O roll forward consiste em aplicar seqüencialmente as alterações de blocos (redo records) contidas nos registros do redo log. O Processo lê os redo records existentes no arquivo de redo log e obtém os blocos originais correspondentes às modificações nos datafiles, movendo-os para o database buffer cache. A tabela interna undo$ contém informações sobre as transações pendentes, até que redo records, contendo a informação de commit, sejam encontrados. Neste caso, a informação é retirada da tabela undo$ e das entradas do segmento de rollback. [2] 

 

[1] http://www.devmedia.com.br/post-349-Transacoes-no-Oracle-Commit-Rollback-e-Savepoint.html

[2] http://www.devmedia.com.br/post-349-Transacoes-no-Oracle-Commit-Rollback-e-Savepoint.html

rolling stones

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo