- Este tópico contém 4 respostas, 2 vozes e foi atualizado pela última vez 6 anos, 5 meses atrás por José Laurindo Chiappa.
-
AutorPosts
-
6 de julho de 2018 às 4:31 am #109307TyttoParticipante
Estou tendo o erro “ORA-12560: TNS:protocol adapter error” em aplicações .Net/C# com banco Oracle 11g quando executo o programa estando numa pasta da rede.
Por exemplo, se o meu executável estiver no disco local, funciona perfeitamente.
Porém, se o executável estiver numa pasta da rede, todo o resto do aplicativo funciona mas não consegue criar a conexão com o banco Oracle pois acontece a ORA-12560.
Tentei conectar usando uma connection-string Ole DB e também nativa, mas ambas apresentam o erro no mesmo ponto. Também revisei as políticas de segurança e permissões do .Net/Windows e está ok (tanto é que o aplicativo executa e só dá erro quando tenta conectar ao banco).Eu notei que isso começou em máquina com Windows 10 após algumas atualizações de segurança. Nas máquinas com Windows 10 sem as últimas atualizações eu não tenho problemas.
Já reinstalei o Client do Oracle, tanto o 32 como o 64 bits com as opções dos providers para Ole DB e nativo.
6 de julho de 2018 às 7:15 pm #109309José Laurindo ChiappaModeradorBlz ? Então, é super-simples : se sem o Update máquinas com Windows 10 acessam normalmente, tá MAIS QUE PROVADO que o Oracle não tem NADA A VER com o problema E QUE foi uma das alterações desse dito Windows Update : nem de longe isso é Inédito, a Microsoft tem sido Useira & Vezeira em capar funcionalidades/impor levels extras nos layers de rede em nome da segurança e acabar quebrando alguma coisa : só pra ref, https://windowsreport.com/virtualbox-wont-launch-windows-10/ registra um caso de vm Oracle quebrada após update do Windows 10, https://www.virtualizationhowto.com/2018/05/windows-10-rdp-credssp-encryption-oracle-remediation-error-fix/ registra casos de protocolo de encriptação Oracle quebrado após um update agressivo do Windows 10…. NENHUMA NOVIDADE AQUI, okdoc ??
Por conta disso, no Suporte Oracle por exemplo se vc olhar a nota “ORA-12560 with UNC use after Windows 10 version 1803 upgrade” (Doc ID 2399465.1) vc vai ver EXATAMENTE um caso desses, onde por conta própria a m$soft meteu um layer a mais na rede Windows bloqueando temporariamente por alguns segundos acesso via unc/pasta de rede não local….
Teu procedimento aí é SIMPLESMENTE acionar Suporte da Microsoft e questionar isso : há algumas medidas de contorno cfrme por exemplo https://www.ghacks.net/2018/04/17/fix-pcs-no-longer-recognized-in-network-after-windows-10-version-1803-upgrade/ mostra mas antes de sair fazendo, É ACIONAR A MICROSOFT, só isso….
[]s
Chiappa
6 de julho de 2018 às 9:21 pm #109312TyttoParticipanteMuito obrigado pela ajuda.
Te achei meio rancoroso com a Microsoft, como se o Oracle nunca tivesse bugs.
A MS tem lançado uma séria de atualizações de segurança, bloqueando alguns recursos antigos que segundo eles são vulneráveis… será essa uma delas ou erro mesmo? Pelo jeito vamos ter que esperar para ver.Mais uma vez obrigado.
6 de julho de 2018 às 9:41 pm #109313José Laurindo ChiappaModeradorNo way : eu uso demais o Windows, meu problema é com o Windows 10, onde a Microsoft saiu Agressivamente removendo determinados recursos em nome da segurança… NÂO É BUG, repito : a alteração no Windows normalmente está funcionando COMO DESEJADO PELA MICROSOFT, o ponto é ela sair fazendo tais planos meio sem Aviso, e muitas vezes não dar a opção de Ativar o recurso removido – exemplo TÍPICO foi a atualização que quebrou máquinas virtuais com virtualbox que indiquei num link anterior, será que custava Avisar, botar como Opcional o UPDATE, dar um botão/controle onde vc ativa o recurso por sua conta e risco ????
E tais updates do Windows 10 não quebram só softwares Oracle não : se vc googlar facilmente vc encontra cases como https://www.reddit.com/r/Windows10/comments/7y5b1k/windows_update_broke_everything/ que quebrou alguns softs de development, https://www.techrepublic.com/article/windows-10-update-broken-google-chrome-microsoft-releases-new-fix/ que quebrou o chrome…E insisto : o problema nesses casos todos NÃO ERA BUG especificamente no Update, em quase todos os casos o Update em si não tinha bug mas a causa das quebras era o fato da Microsoft pra resolver algum bug ter apertado a segurança, removido algum recurso de rede, alterado algum DLL de uma maneira imprevista, etc…
[]s
Chiappa
OBS : não tem nada a ver com a sua resposta, mas só pra informação, vou comentar também que meu OUTRO problema/ojeriza com o Windows 10 é o Update automático de drivers e/ou softwares internos do Windows – entre muitas outras fontes, https://www.howtogeek.com/298940/microsoft-please-stop-breaking-my-pc-with-windows-10s-automatic-updates/ lista Algumas das issues resultantes….
Coisas assim que estão me forçando e forçando muitos clientes meus a continuarem no Windows 7, enquanto esse tipo de issue não é arredondado no Win10 – só quero ver o que vai acontecer em Janeiro/2020 quando o Suporte do Win7 acabará…9 de julho de 2018 às 8:16 pm #109314José Laurindo ChiappaModeradorTudo jóia ? Então, ainda no sentido de dar elementos pro Suporte da Microsoft/do seu time de Windows, tem alguns procedimentos que relendo a minha resposta não citei e que podem te ser úteis – eles devem ser feitos pelo ADMINISTRADOR ORACLE em conjunto com teu Administrador de rede e/ou teu sysadmin, então como Programador/Analista (que é sua função, suponho) talvez sozinho vc não consiga ativar todos eles, mas seguem :
1) Tanto no servidor Oracle quanto no software base de client Oracle é possível vc setar um TRACE DE REDE, que vai reportar exatamente em QUAL ponto de acesso E para quem o Windows tá rejeitando acesso : para ativar o trace no Listener vc pode seguir as instruções em http://dbaclass.com/article/how-to-enable-trace-for-a-listener/ , para ativar na camada de rede Oracle do servidor Oracle vc seta os params de trace de rede no arquivo sqlnet.ora do servidor, e pra ativar na máquina cliente vc seta os params de trace no arquivo sqlnet.ora da máquina cliente : vide http://www.oracledistilled.com/oracle-database/troubleshooting/setting-up-oracle-net-services-tracing-on-the-client-and-server/ para exemplos, e no manual Oracle correspondente vc tem mais detalhes
2) Ainda nessa toada de obter mais detalhes do “erro”, embora pessoalmente não programe em nenhuma linguagem/tool que conecte no banco Oracle via provider oledb, afaik o próprio driver/provider oledb PODE também gerar traces/log próprios : https://docs.oracle.com/database/121/OLEDB/appxtype.htm#OLEDB246 é o manual do driver/provider oledb versão 12c, muito provavelmente pra versão 11g (que deve ser a que vc está usando) deve ser algo muuuito próximo se não Idêntico
===> Deixo Claro aqui que :
– o trace gerado não vai ser quase NADA útil pra mim ou pra vc, ele vai dar insights pra um especialista de Rede e/ou pra um especialista Windows
– afaik o driver oldedb aciona o software Client Oracle, e é o software client Oracle que efetivamente vai abrir um socket de rede e tentar conectar no Listener Oracle que reside lá no servidor Oracle : a idéia aqui de ativar múltiplos traces é tentar obter Evidências se quem está tendo acesso ao drive de rede negado é um componente do oledb, do sofware client Oracle ou mesmo (improvável mas não impossível) o próprio Listener e/ou o processo shadow que o Listener abre/cria no servidor Oracle
3) Vale a pena também fazer uns testes EXTRAS com o drive de rede em si numa das máquinas Windows 10 que passaram a apresentar a ‘falha’ após último update de Windows, ie :
– desmontar e montar novamente o drive de rede
– temporariamente dar permissões full/completas no share de rede
– tentar acessar tanto por UNC (ie, \hostnameouIPnomedoshare) quanto montando um disco Windows X: e acessando por X:nomedoshare : aqui penso em acesso tanto pelo prompt de comando DOS quanto pelo Windows Explorer… Se acessou OK, tentar executar um comando Windows a partir dele….
– não é muito factível, mas se vc tiver chance de executar pelo driver de rede um programinha executável que faça conexão diretamente pelo software client Oracle, vale o teste : pode ser sqlplus, pode ser Oracle SQL Developer ou SQLcl (criando uma conexão via driver THICK, e não driver THIN), alguma tool administrativa como PL/SQL Developer ou TOAD, ou mesmo criar um programa executável seu (via linguagem de programação que permita, como pro*C, Delphi, etc) que possa conectar diretamente pelo client Oracle via protocolo OCI…. A idéia deste teste é tentar ver se é o client Oracle ou o oledb que está tendo acesso à recursos de rede negados
– tentar usar o driver/provider oledb mais recente : não parece ser o caso, mas vale um teste
4) Se os arquivos do driver/provider OLEDB e/ou os arquivos do software client Oracle estão instalados/localizados no drive de rede, se possível tentar um teste transferindo-os para um drive local da máquina : como eu disse, não programa com oledb então não sei te dizer o passo-a-passo eventualmente necessário para essa realocação, nem sei se seria necessário uma Re-instalação de ambos (ie, software client Oracle e driver/provider oledb) mas dá uma pesquisada …
===>> COM ESSES SUBSÍDIOS EXTRAS todos na mão (ie, os traces/logs todos que pôde obter, os testes do item 3 e do 4, tudinho), aí sim vc pode confirmar com o Suporte Microsoft e/ou com teu time de sysadmins Windows/admins de Rede se realmente foi desligamento de recurso de Rede feito pelo WinUpdate por motivos de segurança…. Se foi, não esqueça de mostrar pra eles o link que eu Já Havia Dado anteriormente (ie, https://www.ghacks.net/2018/04/17/fix-pcs-no-longer-recognized-in-network-after-windows-10-version-1803-upgrade/) mas como eu disse antes, repito de novo : antes de sair seguindo a Recomendação do link, vc TEM que fazer as análises pertinentes, tentar obter uns traces/logs… Eu particularmente Não Recomendo administração de ambiente ‘por atrito’, ie, vai aplicando fixes obtidos da Internet meio à esmo até obter algum resultado : imho, antes vc TEM que ter Indicadores que comprovem a sua tese…
[]s
Chiappa
-
AutorPosts
- Você deve fazer login para responder a este tópico.