ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-12170 Windows上Oracle开放防火墙端口问题

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

原创 Linux操作系统 作者:dukewyh 时间:2013-07-12 10:21:16 0 删除 编辑
    服务器加了一个防火墙之后,连接数据库报:ORA-12170:TNS:连接超时。在防火墙上开放Oracle服务端口要使Oracle客户端能正常连接到设置有防火墙的安装windows上的Oracle服务器,单开放一个1521或自定义的监听端口是不够的。
    我们有的时候需要映射端口远程去访问Oracle 数据库,这里有个防火墙的问题,在unix 上没有问题,但是在win 平台上却无法正确访问,下面的可以解决这个问题,从网上找到有如下资料:
    近来由于工作需要,在Windows XP平台上安装了Oracle9i数据库作为测试之用,一切正常。但当客户机连接服务器时却总是超时,我首先想到了防火墙,当我打开1521端口时,连接操作仍然失败。我又怀疑网络有问题,用telnet server_ip:1521尝试,连接被接受,说明1521端口已经被打开。
    network listener 只起一个中介作用,当客户连接它时,它根据配置寻找到相应的数据库实例进程,然后spawned一个新的数据库连接,这个连接端口由network listener传递给客户机,此后客户机就不再和打交道了,即使listener停止了工作。这个新的连接端口是不可预知的,因而会被防火墙阻止。
   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目录编号)

    设置后请重新启动实例和listener

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15592508/viewspace-766113/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Hadoop学习路线图
请登录后发表评论 登录
全部评论

注册时间:2011-04-12

  • 博文量
    28
  • 访问量
    83827