Por que o Oracle Connectivity está usando o Sitecore ou o Toad em um firewall mais lento do que o uso do SQLPlus?

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

Pergunta

Eu tenho um aplicativo da Web .NET de terceiros (Sitecore) que se conecta a um banco de dados Oracle em um servidor no meu DMZ (separado da minha LAN com um firewall). A conectividade entre o aplicativo e o banco de dados é lenta. Ele não falha, o processo (chamado de publicação) leva muito tempo em comparação com o mesmo processo que ocorre entre o aplicativo (Sitecore) e um banco de dados Oracle dentro da nossa LAN (alguns milissegundos versus 20 minutos). Curiosamente, recebo o mesmo comportamento quando uso o Toad for Oracle para consultar o banco de dados no DMZ versus consultar uma cópia do banco de dados dentro da minha LAN.

Eu repliquei a configuração dentro da nossa LAN e o problema desaparece. Se eu usar um banco de dados MSSQL, o problema também desaparecer. Se não usarmos o Sitecore ou o Toad e, em vez disso, executarmos consultas simples no aplicativo SQLPlus da Oracle, o problema não ocorre.

Isso indica para mim que o problema é específico para aplicativos que usam o Oracle Data Provider para .NET e que estão em execução dentro da nossa LAN e estão tentando consultar um banco de dados Oracle fora da nossa LAN.

OS é Windows 2008R2 64bit (Oracle DB Server), Windows 2008 32bit (Sitecore), Win7 64bit (clientes TOAD e SQLPLUS). Não tenho certeza do que é o firewall, mas acho que está em algum tipo de coisa virtual Switch/Router (sim, eu não sou um cara da rede, como você adivinhou?). Oracle é 10g. Os clientes estão usando o Oracle.DataAccess 2.102.4.0 ou 2.102.5.0 por 64 e 32 bits. O sapo é 10.6. Sitecore é 6.2.0 Rev 091012

Eu executei vários monitores como Wireshark, Procmon e o Win7 Resource Monitor, mas não tenho muita certeza do que estou procurando. Tudo o que posso ver é que existem grandes lacunas de tempo entre envios e recebimentos, mas não consigo determinar onde essas lacunas estão sendo criadas. Para mim, tudo isso é realmente assustador. Na minha experiência, a conectividade da rede funciona ou não, e se algum tráfego for lento, todo o tráfego será lento.

Alguma idéia do que pode causar esse comportamento? Especificamente, quais configurações de rede/roteador/firewall podem causar conectividade (sobre os protocolos TNS e TCP de acordo com o Wireshark) irem devagar, mas não falham completamente, para uma implementação específica de um provedor de dados Oracle?

Confuso e levemente assustado,

James.

Foi útil?

Solução

Portanto, a resposta é o firewall que estamos usando está causando o problema. Ele está tentando fazer uma inspeção profunda de pacotes no Oracle Tráfego (que foi processado pelo provedor ODP.NET), que diminui consideravelmente o tráfego de rede, sem realmente interromper. Um firewall que funciona com um método diferente deve corrigir o problema. Os caras são Quest (apoio do Toad) foram muito bons e criaram a resposta. O suporte do Oracle foi menos útil. A missão tem alguma documentação sobre o problema, mas está por trás do portal de suporte.

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