In the development, we have encountered the following problems, and then consolidate, resolve, wish and share the environment 2 Web / Application Server (Windows2003 Server) 1 Database Server (ORACLE9.2), the business application system is based on. NET technology. The database server uses a Windows2000 Server operating system. One of the Web / Application servers deployed with the outer network, and another web / application server and database server deployed in the intranet. The external network and the internal network have firewall spaced apart. Problem The external network application server is installed OracleClient, the firewall opens port 1551 (Oracle listening port), and the external network application server program still cannot access the database. The reason For windows platform, the listener spawns a thread when accept an incoming SQL * Net connection and it will listen to a random free port other than the listener port. The connection is redirected to different port, so if the firewall just opens a single port IT will not work. Solution To workaround this, we can set a Windows registry value USE_SHARED_SOCKET, put this registry key under your ORACLE registry: // HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE / HOME <#> Create the key USE_SHARED_SOCKET and assign the value TRUE.After that you need . to restart the Oracle service and also the Oracle listener, then it should work.One problem of this setting is if your listener is down, all the connections will be cut This is different than Oracle on Unix platform works added: If the Oracle installation On the UNIX platform, the firewall only needs to open a port (with the Oracle listening port)