Pular para o conteúdo
Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #79955
    souza
    Participante

      Tenho como saber como meu banco está configuado para tratar locks ?
      Se é por tabela, coluna ou linha …

      Desde já obrigado

      #79961
      Marcio68Almeida
      Participante

        Configurado ??? Você pode usar a seguinte query para acompanhar o que está acontecendo…
        Select s.sid, s.serial#, o.owner, s.lockwait, s.username, s.osuser, s.terminal, s.status, l.id2, decode (NVL (l.id2, 0), 0, o.object_name, 'Trans-' || to_char (l.id1)) object_name, decode (NVL (l.type, '.'), 'BL', 'Buffer hash table instance', 'CF', 'Control file schema global enqueue', 'CU', 'Cursor bind', 'CI', 'Cross-instance function invocation instance','DF', 'Data file instance', 'JQ', 'Job queue', 'DL', 'Direct loader parallel index create', 'TX', 'Transaction enqueue', 'UL', 'User supplied', 'DM', 'Mount/startup db primary/secondary instance', 'DR', 'Distributed recovery process', 'DX', 'Distributed transaction entry', 'TM', 'DML enqueue', l.type) type, decode (NVL (l.lmode, 0), 0, '--Waiting--', 1, 'Null', 2, 'Row Share', 3, 'Row Excl', 4, 'Share', 5, 'Sha Row Exc', 6, 'Exclusive', 'Other') "Lock Mode", decode (NVL (l.request, 0), 0, ' - ', 1, 'Null', 2, 'Row Share', 3, 'Row Excl', 4, 'Share', 5, 'Sha Row Exc', 6, 'Exclusive', 'Other') "Req Mode"
        From v$lock l, v$session s, dba_objects o
        Where s.sid = l.sid (+)
        and l.id1 = o.object_id (+)
        and s.username is not null
        Order by l.id2, s.sid

        #79964
        souza
        Participante

          Mas quero saber o que está sendo bloqueado no momento de uma gravação(tabela,linha ou coluna) . É porque tenho a seguinte situação , quando é disparado determinado processo na aplicação alguma tabela ou coluna é bloqueada e impede que outros usuários trabalhem. Gostaria de saber como faço para identificar esse tipo de processo.

          #79966
          Marcio68Almeida
          Participante

            Rode essa consulta que te passei na hora em que suspeitar que há lock.
            Vai te informar quem está travando o que.

            #79976
            souza
            Participante

              Obrigado

              E para matar o usuário , como faço ?

              #79979
              gustavodesa
              Participante

                Basta você saber o SID e o SERIAL da sessão do usuário que voce quer matar.
                Você pode encontrar essas informações na VIEW de desempenho V$session.

                Comando para matar o usuário:

                alter system kill session ‘session-id,session-serial’ immediate;

                Gustavo de Sá

                #79986
                Marcio68Almeida
                Participante

                  O SID e SERIAL# já são trazidos na consulta que forneci…
                  na sintaxe fornecida é impressindível o uso das aspas como nosso maigo mostrou…

                  #79993
                  souza
                  Participante

                    Ok , obrigado

                    #79999
                    souza
                    Participante

                      Mas preciso saber na verdade quel é o esmema de bloqueio (locks) configurado no Oracle, se é por tabela, linha, ou pagina ?

                      #80013
                      souza
                      Participante

                        Pessoal posso estar falando bobagem , mas preciso saber na verdade qual é o esmema de bloqueio (locks) configurado no Oracle, se é por tabela, linha, ou pagina ?

                        Desde já obrigado

                      Visualizando 10 posts - 1 até 10 (de 10 do total)
                      • Você deve fazer login para responder a este tópico.