Problemes amb Oracle i el firewall
Durant aquest estiu he estat ajudant a un company a instal·lar l'Oracle 10g a una màquina amb Windows 2000.
Tot va anar com una seda fins que va arribar l'hora de connectar-se remotament amb un SQL*Plus a la Base de Dades. Localment funcionava, però externament no hi havia manera.
Evidentment vaig pensar que era alguna cosa de firewall, però els responsables del hosting m'asseguraven que el port 1521 estava obert.
De fet el diagnòstic era:
telnet host 1521 -> funciona, com a mínim connecta
tnsping tnshost -> timeout
sqlplus tnshost -> timeout
Finalment vaig trobar la solució al metalink. Resulta que el listener d'Oracle escolta pel port 1521 peró una vegada estableix connexió amb un client arranca un procés nou i aquest continua la comunicació amb el client amb un port diferent i exòtic de la màquina. Evidentment aquests ports no estaven oberts al firewall.
La solució "mano de Santo" en un W2K és posar al registre de windows (regedit) a la branca HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE un nou string value USE_SHARED_SOCKET=TRUE
Reiniciar tot el server "e voila"! Tota la comunicació entre listener i clients remots es farà exclusivament pel port 1521.
Escoltant Yann Tiersen - Le jour d'avant