Windows上Oracle开放防火墙端口问题

 

 

WindowsOracle开放防火墙端口问题

 

问题描述:

要使Oracle客户端能正常连接到设置有防火墙的安装在windows上的Oracle服务器,单开放一个1521或自定义的监听端口是不够的。

unix平台不用担心,系统自动会解决这个问题.,只需要开放一个1521端口就行。

windows系统下,Oracle客户端连接服务器,首先去找1521监听端口,服务器的1521监听端口再向server process进程发出请求,并返回一个随机端口给客户端,客户端再来连接这个端口和数据库进行通信

监听端口之外的这个新的连接端口是不可预知的,因而会被防火墙阻止。如何做到只开放1521端口就能正常访问Oracle数据库?下面我们来具体介绍解决此问题的方法。

解决方案:

Windows Socket2 规范有一个新的特性,就是Shared Socket, 所谓共享套接字是指一个进程共享另一个进程的套接字(详见MSDN相关参考)。如果让network listener与数据库服务进程共享套接字,那么连接端口就不会变化。

如何设置Shared Socket?

在注册表:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE \HOME0上新建一个字符串值:USE_SHARED_SOCKET=true。如果安装了多个目录,则每个类似的目录都要设置:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx (x目录编号)

设置后要求重新启动oracle数据库服务(只通过sqlplus工具shutdown后,再startup数据库发现没有效果)。

 

测试平台:

服务器操作系统:Windows XP Windows自带防火墙)

数据库系统:Oracle9i Enterprise Edition Release 9.2.0.1.0

 

 

Johnny整理)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值