本文主要是介绍Windows 2003 Oracle 部署与防火墙端口开设,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题DB server 主机防火墙开设端口1521(Oracle监听端口),外网应用服务器程序仍然不能访问数据库。
原因
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。
解决方案
To workaround this, we can set a Windows registry value USE_SHARED_SOCKET, put this registry key under your ORACLE registry:HKEY_LOCAL_MACHINESOFTWAREORACLEHOME<#>
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.
补充:如果Oracle安装在UNIX平台下面,则防火墙只需要开设一个端口(同Oracle监听端口)
这篇关于Windows 2003 Oracle 部署与防火墙端口开设的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!