Como verificar os bloqueios atuais em um banco de dados Oracle

Da Oracle bloqueios proteger a integridade dos dados.

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.
De esta maneira? Compartilhar em redes sociais:

LiveInternet