Oracle usa uma função de bloqueio para garantir que os dados não é atualizado por mais de uma função de cada vez para manter a integridade dos dados. Bloqueio ocorre em muitos níveis, incluindo linhas, mesas e espaços de tabela. No bloqueio em nível de usuário, o "cometer" comando faz alterações permanentes e remove o bloqueio. o "rollback" comando inverte as alterações antes de liberar o bloqueio. registros do Oracle informações de bloqueio em uma tabela de sistema chamada "v $ bloqueio" que pode ser consultado através do Structured Query Language (SQL).
Reveja o "v $ bloqueio" tabela do Oracle para o bloqueio de informação. Use o "selecionar" comando para ver "sid," "digitar," "lmode" e "pedido." Sid representa o número ID da sessão e identifica a sessão que possui o bloqueio.
selecionar
sid,
digitar,
lmode,
pedido
de v $ bloqueio;
Junte-se à a Oracle "v $ session" tabela para o "v $ bloqueio" tabela para determinar quem está bloqueando o banco de dados. Junte-se por sid (ID da sessão) para encontrar o nome de usuário.
selecionar
s.username,
S.sid,
l.type,
l.lmode,
l.request
de v $ bloqueio l, v $ session s
onde l.sid = S.sid;
consultar o "v $ locked_object" mesa para obter informações adicionais sobre o que está bloqueado. Junte-se com a "DBA_OBJECTS" mesa para nome e tipo. O nome do objeto indica o que está bloqueada e as colunas de nome de usuário identificar quem criou o bloqueio.
selecionar
oracle_username
os_user_name,
locked_mode,
object_name,
object_type
a partir de
v $ locked_object lo, DBA_OBJECTS fazer
Onde
lo.object_id = do.object_id;
dicas & avisos
- Antes de consultar para fechaduras, solicitar o acesso ao DBA (Database Administrator).
- Se um bloqueio não libera em um tempo aceitável, o DBA pode cancelar a sessão e liberar o recurso. Reciclando o banco de dados raramente é necessária para liberar um bloqueio.
- No "$ bloqueio" tabela, digite os valores incluem "TM" para bloqueios de tabela, "TX" para bloqueios de transação, "SR" para fechaduras de recuperação de mídia e "ST" para fechaduras de espaço em disco.
- "lmode" e "pedido" são significativos quando os seus valores são comparados juntos. Apenas um pode ser igual a zero ou um, ao mesmo tempo. A coluna que não é zero ou um indica o modo de bloqueio. modos de bloqueio válidos são uma para nula (ou nenhum bloqueio), dois para a parte de linha (SS), três para a linha exclusiva (SX), quatro para a parte (S), cinco para a linha participação exclusiva (SSX) e seis para exclusivo (X ).
- Cancelar uma sessão pode causar erros fatais.