Oracle服务穿越防火墙

作者: 不剪发的Tony老师
毕业于北京航空航天大学,十多年数据库管理与开发经验,目前在一家全球性的金融公司从事数据库架构设计。CSDN学院签约讲师以及GitChat专栏作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net

环境 :数据库服务器在VPN网内,操作系统为W2k3 Server SP2,VPN使用了防火墙,数据库为Oracle10G,专用服务器模式。

 

问题 :在VPN外不能连接Oracle,服务器上的防火墙已经关闭,VPN防火墙打开了1521监听端口。

 

原因 :监听器只是负责监听请求,默认使用1521端口。客户端请求连接通过监听器找到数据库服务后,建立一个新的连接,使用的是另外一个动态端口,而且不可预知。虽然服务器关闭了防火墙,但是VPN防火墙还是拦截了客户端的连接。

 

解决办法 :查看资料,最后使用USE_SHARED_SOCKET设置。在注册表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1下添加一个字符串值USE_SHARED_SOCKET=true。重启数据库服务,连接OK。

 

参考 :http://bbs.51cto.com/thread-606943-1.html;http://www.computer-book-authors.org/aud_450.htm