原因 Oracle listener 只起一个中介作用,当客户连接它时,它根据配置寻找到相应的数据库实例进程,然后spawned一个新的数据库连接,这个连接端口由listener传递给客户机,此后客户机就不再和打交道了,即使listener停止了工作.这个新的连接端口是不可预知的,因而若只开放1521端口还是会被防火墙阻止. 解决方案 Windows Socket2 规范有一个新的特性,就是Shared Socket, 所谓共享套接字是指一个进程共享另一个进程的套接字(详见MSDN相关参考).如…