Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle - Como a Oracle gerencia instruções DML específicas de transação


O Oracle cria um índice para impor a restrição de chave primária (um índice exclusivo por padrão). Quando a Sessão A insere a primeira linha, a estrutura do índice é atualizada, mas a alteração não é confirmada. Quando a Sessão B tenta inserir a segunda linha, a operação de manutenção do índice observa que já existe uma entrada pendente no índice com essa chave específica. A Sessão B não pode adquirir a trava que protege a estrutura de índice compartilhado, portanto, ela será bloqueada até que a transação da Sessão A seja concluída. Nesse ponto, a Sessão B será capaz de adquirir o latch e fazer sua própria modificação no índice (porque A reverteu) ou notará que a outra entrada foi confirmada e lançará uma violação de restrição exclusiva (porque A cometeu ).