Antes do Oracle terminar uma transação deve acontecer explic...
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