Controle de concorrência oracle
Com o advento dos sistemas multi-usuários, um grande problema a ser resolvido é a questão da concorrência pela informação, isto é, a mesma informação pode ser acessada e até mesmo atualizada por vários usuários ao mesmo tempo. Para evitar a interação destrutiva entre essas transações, a grande maioria dos SGBDs disponíveis no mercado possuem algum mecanismo de lock (trava).
A idéia básica atrás desse mecanismo é que quando um usuário modifica um dado através de uma transação, esse dado permanecerá “locado” até que esta seja efetivada (commit) ou desfeita (rollback).
Locks no Oracle
O mecanismo de lock presente no Oracle é um dos mais sofisticados e eficientes dentre os bancos de dados de grande porte, …exibir mais conteúdo…
É obtido através das instruções da instrução abaixo:
INSERT INTO tabela...;
UPDATE tabela...;
DELETE FROM tabela...;
LOCK TABLE table IN ROW EXCLUSIVE MODE;
Share (S)
Esse tipo de lock é obtido através da instrução abaixo:
LOCK TABLE table IN SHARE MODE;
Geralmente o lock S é utilizado para garantir uma imagem consistente da tabela ao longo da transação, isto é, ele garante que nenhum comando DML será permitido. É necessário utilizar essa abordagem,