Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2015

Banco de DadosOracle
Código
fc020486
Banca
FCC
Órgão
MPE-PB
Ano
2015
Nível
Superior
Cargo
Analista de Sistemas – Administrador de Banco de Dados
Para controlar a lógica de transações no Oracle utilizam-se as instruções COMMIT e ROLLBACK. Sobre a instrução COMMIT é correto afirmar:
  1. AAntes de executar um COMMIT, o usuário não pode revisar o resultado das operações de manipulações de dados por meio de consultas às tabelas.
  2. BApós executar um COMMIT, o estado anterior dos dados é perdido permanentemente e todos os usuários com permissão adequada poderão exibir os resultados das transações realizadas antes do COMMIT.
  3. CAntes de um COMMIT ser executado, outros usuários poderão exibir os resultados das operações de manipulação de dados feitas pelo usuário atual.
  4. DApós executar um COMMIT, as linhas afetadas são bloqueadas e não estarão disponíveis para outros usuários executarem novas alterações nos dados.
  5. EAntes de executar um COMMIT, as linhas afetadas pelas alterações feitas nos dados pelo usuário atual estarão liberadas, de forma que outros usuários possam alterar os dados destas linhas.
Revelar gabarito e comentário

GabaritoB — Após executar um COMMIT, o estado anterior dos dados é perdido permanentemente e todos os usuários com permissão adequada poderão exibir os resultados das transações realizadas antes do COMMIT.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Gerenciamento de Transações: COMMIT no Oracle

Gabarito: letra B. A instrução COMMIT finaliza uma transação com sucesso, tornando as alterações permanentes e visíveis para todos os usuários com permissão. O estado anterior dos dados é perdido definitivamente, e a transação é concluída (atomicidade e durabilidade).

A questão testa o conhecimento básico do comportamento do COMMIT em bancos de dados relacionais, incluindo Oracle. O COMMIT é o comando que encerra uma transação, confirmando todas as operações realizadas desde o último COMMIT ou ROLLBACK.

COMMIT (Oracle)
  • 1Antes do COMMIT
    • Própria transação vê as alterações
    • Outros usuários NÃO veem
    • Linhas bloqueadas (locks exclusivos)
  • 2Após o COMMIT
    • Alterações permanentes
    • Visível a todos com permissão
    • Estado anterior perdido
    • Locks liberados
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que, antes do COMMIT, o usuário não pode consultar suas próprias alterações. Na verdade, o próprio usuário (a transação) visualiza suas modificações mesmo antes do COMMIT, pois o sistema mantém um "snapshot" próprio para a transação. Outros usuários não veem, mas o próprio sim.

Alternativa B — ✅ Correta ⟵ GABARITO

O COMMIT torna as alterações permanentes: o estado anterior é perdido (não pode ser desfeito por ROLLBACK) e todos os usuários com privilégios de leitura passam a enxergar os dados modificados. A afirmação está alinhada com as propriedades ACID (durabilidade).

Alternativa C — ❌ Incorreta

Antes do COMMIT, as alterações são privadas da transação. Outros usuários, por padrão (nível de isolamento READ COMMITTED), não visualizam dados não commitados. Exigiria nível READ UNCOMMITTED, que não é o padrão Oracle.

Alternativa D — ❌ Incorreta

Após o COMMIT, as linhas são desbloqueadas (liberadas), não bloqueadas. O bloqueio ocorre durante a transação para garantir isolamento; ao commitar, os locks são liberados.

Alternativa E — ❌ Incorreta

Antes do COMMIT, as linhas alteradas estão bloqueadas pela transação (locks exclusivos), impedindo que outros usuários as modifiquem. A liberação só ocorre após COMMIT ou ROLLBACK.

Link permanente: /questoes/fc020486