Os 3 níveis de isolamento de transação do Oracle 11g são:

Próximas questões
Com base no mesmo assunto
Q80237 Banco de Dados
Os 3 níveis de isolamento de transação do Oracle 11g são:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - Read Commited, Serializable e Read Only.

No Oracle 11g, os níveis de isolamento de transação definem como as transações interagem entre si, principalmente em termos de visibilidade e acesso aos dados que estão sendo modificados. Esses níveis são importantes para garantir a integridade dos dados e evitar problemas como dirty reads, non-repeatable reads e phantom reads.

Justificativa da alternativa correta:

  • Read Committed: É o nível de isolamento padrão do Oracle. Uma transação neste nível só consegue ler dados que foram confirmados (committed). Isso impede que a transação leia modificações não confirmadas, conhecidas como dirty reads.
  • Serializable: Neste nível, uma transação age como se fosse a única a interagir com o banco de dados no momento da sua execução. Alterações feitas por outras transações após o início da transação atual não são visíveis, o que previne non-repeatable reads e phantom reads.
  • Read Only: Semelhante ao nível Serializable, a transação vê apenas dados que estavam confirmados no momento em que ela iniciou, e nenhuma atualização é permitida. Esse nível é usado principalmente para garantir relatórios e consultas consistentes ao longo do tempo.

Os outros níveis de isolamento listados nas alternativas incorretas ou não são suportados pelo Oracle 11g (Read Uncommitted e Repeatable Read) ou são combinações incorretas dos níveis de isolamento existentes.

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

São realmente três níveis de isolamento? No Oracle, conheço o READ COMMITED, que é o padrão, e o SERIALIZABLE.

SET TRANSACTION ISOLATION LEVEL READ COMMITED NAME 'Transaction One'

Sei que o padrão SQL92 define ainda mais dois tipos, que é o READ UNCOMMITED e o REPEATABLE READ,

Agora, Read Only não me parece ser um nível de isolamento, embora esteja marcado como correta na questão.

Aqui tem a gramática do Oracle que define a operação SET TRANSACTION:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/img/set_transaction.gif


Segundo a documentação da Oracle o gabarito está correto.

"Oracle Database offers the read committed and serializable isolation levels, as well as a read-only mode that is not part of SQL92. Read committed is the default." (http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/consist.htm).
Esta questão possui um pequeno erro que a torna anulável. O erro está na escrita da palavra COMMITTED que possui 2 TT e na questão ela é grafada de forma incorreta com apenas 1 t.
SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET TRANSACTION ISOLATION LEVEL READ ONLY;
Artigo bastante esclarecedor sobre níveis de isolamento de transação: http://errorstream.wordpress.com/2009/04/01/niveis-de-isolamento-da-base-de-dados/

Bons estudos!

Clique para visualizar este comentário

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