Qual é a diferença entre "ORA-12571: Falha no redator de pacotes TNS" e "ORA-03135: conexão com contato perdido"?

StackOverflow https://stackoverflow.com/questions/2655666

  •  27-09-2019
  •  | 
  •  

Pergunta

Estou trabalhando em um ambiente em que obtemos problemas de produção de tempos em tempos relacionados às conexões Oracle. Usamos o ODP.NET nos aplicativos ASP.NET e suspeitamos que o firewall feche as conexões que estão no pool de conexões há muito tempo.

Às vezes, obtemos um erro "ORA-12571: TNS Packet Writer Faille" e, às vezes, obtemos "ORA-03135: Conexão com contato perdido".

Eu queria saber se alguém se deparou com isso e/ou tem uma compreensão da diferença entre os 2 erros.

Foi útil?

Solução

Usando uma analogia de telefone celular:

  • ORA-12571 (falha) significa que a chamada é descartada.
  • ORA-03135 (conexão perdida) Outra parte desligou.

Outras dicas

Meu entendimento é que 3135 ocorre quando uma conexão é perdida. Isso não diz por que a conexão foi perdida, no entanto. Pode ter sido encerrado pelo servidor porque o servidor não conseguiu receber uma resposta a uma sonda por um certo período de tempo e assumiu que a conexão estava morta. Ou (não tenho certeza sobre isso) o reverso exato disso: o cliente não conseguiu receber uma resposta da sonda do servidor por um certo período de tempo, por isso assumiu que a conexão foi perdida. A "certa quantidade de tempo" é cotrolida por sqlnet.expire_time = [minutos] em sqlnet.ora.

Quanto a 12571, meu entendimento (novamente vago) é que houve uma falha repentina em enviar um pacote durante a comunicação com o servidor, e que isso geralmente é causado por algum software ou hardware que interfere na conexão (por design ou por erro ). Por exemplo, se você retirar o cabo Ethernet e tentar executar uma consulta, provavelmente conseguirá isso. Ou se um aplicativo de firewall ou anti-malware decidir bloquear o tráfego.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top