项目技术经验总结一:asp.net+oracle部署,防火墙端口开设

在开发中,曾经遇到下面的问题,后向Oracle咨询,得以解决,愿和大家共享

环境

    2台Web/Application服务器(Windows2003 server)+1台数据库服务器(oracle9.2),
 业务应用系统基于.Net技术。数据库服务器采用Windows2000 Server操作系统。
   其中一台Web/Application服务器部署与外网,另外一台Web/Application服务器和数据库服务器部署于内网.外网和内网有防火墙隔开。

问题
 
外网的应用服务器安装好OracleClient后,防火墙开设端口1551(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_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.
 
补充:如果Oracle安装在UNIX平台下面,则防火墙只需要开设一个端口(同Oracle监听端口)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值