Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 2 anos, 10 meses atrás por Avatar de José Laurindo ChiappaJosé Laurindo Chiappa.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #148296
    Avatar de Thiago ChristofoliThiago Christofoli
    Participante

      Olá pessoal,

      Por duas vezes encontrei o seguinte erro ao abrir uma aplicação: ora 12518 – TNS:Listner nao pôde distribuir conexão cliente.

      E quem estava com a aplicação já acessando, estava normal, porém ao tentar realizar um novo acesso era apresentado o erro.

      Verifiquei via tnsping após algumas dicas que o latência está acima de 1000 ms diretamente no servidor (win), porém quando executo de uma máquina o tnsping a latência não passa de 20 ms.

      Utilizei uma query para saber quem estava “logado” no banco e notei que eram poucos acessos.

      O servidor está bem dimensionado e a princípio não há nenhum gargalo de hardware.

      Alguma dica?

       

      #148299
      Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
      Moderador

        Blz ? Então, a mensagem em si é clara – por qualquer motivo, o Listener Oracle não foi capaz de fazer a sua tarefa, que é (se for conexão dedicada, como parece ser) de criar uma SESSÃO no database : isso envolve criar um PROCESSO no Sistema Operacional do servidor, criar um processo dentro do database e criar uma conexão de rede entre esse processo do SO e o do database….
        O detalhe aí é que, Primeiro, AMBOS os processos VÃO consumir recursos – vc diz que o hardware está com folga no momento (só VERIFIQUE se realmente isso estava assim no momento que deu o erro), verifique então recursos do database em si… Isso estando OK (pelo que vc diz DEVE estar mas tem que checar), aí vc VAI ter que validar os LIMITES de uso : tanto no que tange ao servidor (principalmente se for LINUX!!) quanto dentro do database Oracle há LIMITES que controlam a quantidade máxima de processos que podem ser criados, de memória que pode ser alocada, de arquivos que podem ser abertos (no caso do servidor), de sessões que podem ser criadas (no caso do database), etc : VALIDE que esses limites estão adequados, consultando (no caso do servidor) parâmetros de kernel (no caso de Linux) e policies (no caso de Windows), E no database consultando os parâmetros de SESSIONS e de PROCESSES… No caso do database Oracle, ele MANTÉM um registro do quanto os limites já foram usados, pra vc ver se já chegou a usar perto do limite, consulte pra isso a (G)V$RESOURCE_LIMIT … Para o servidor, normalmente nenhum SO te dá um histórico do tipo, tente ir pelos logs do sistema (Eventos no Windows)…

        ==> SE vc comprovar que REALMENTE o hardware está com folga, o database Não teve gargalo nenhum, E QUE os limites do servidor/SO E do database para sessions e processes NUNCA chegaram nem perto de ‘estourar’/serem ultrapassados, aí é DEBGUG/TROUBLESHOOT : Ative o log/trace de sqlnet (vide doc e nota de Suporte “SQLNet & Oracle Net Services – Tracing and Logging at a Glance” (Doc ID 219968.1) para sql*net, https://smarttechways.com/2018/05/28/enable-and-disable-the-trace-on-listener-in-oracle/ para o listener), e veja as notas de Suporte “ORA-12518 / TNS-12518 Troubleshooting” (Doc ID 556428.1) e “New Connections to the Database lead to ORA-12518 or TNS-12518” (Doc ID 340089.1) para algumas recomendações gerais para o 12518…
        PODE valer a pena também , nessa toada de debug/troubleshoot, ALÈM dos passos acima, setar também um EVENTO que cause um dump de memória e recursos quando der o erro, vide https://oraclespin.com/2009/07/23/how-to-force-an-error-to-generate-a-trace-file-when-an-ora-error-occurs/ para exemplo….

        []s

        Chiappa

        #148300
        Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
        Moderador

          E adicionalmente : se vc recebe esse erro aleatoriamente, não é direto, é de vez em quando, em situações e ocasiões em princípio Aleatórias, a Oracle fornece um script de monitoração que vc PODE deixar rodando constantemente, aí ele mantém um Histórico preciso de recursos do Sistema Operacional – a ferramenta se chama OSWatcher, pra versões de RDBMS atualmente em Suporte Premier (ie, 18c, 19c, etc) vc baixa ela no pacote das ferramentas TFA, vide nota “Autonomous Health Framework (AHF) – Including TFA and ORAchk/EXAchk” (Doc ID 2550798.1)… Já se sua versão não está em Suporte Premier, é mais antiga que isso, veja na nota “OS Watcher User’s Guide” (Doc ID 1531223.1) se ainda pode ser baixada versão stand-alone do OSwatcher para o seu release/versão E o seu Sistema Operacional….

          []s

           

          Chiappa

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