方法一:

服务器的操作系统是Windows吗?如果是,那么找到“Configuration   and   Migration   Tools、Administration   Assistant   for   Windows   NT(AAW)”,在AAW的树里找到你的Oracle主目录的叶结点,点右键,选属性,在属性对话框里添加一个名为“USE_SHARED_SOCKET”值为“TRUE”的参数,然后重启服务器。  
  问题原因在于,ORACLE回应每个客户端的请求时,生成一个线程(或者是进程,我记不清了),在这个线程里,它用一个随机端口与客户端通信。而设置了上述参数后,则都用统一的端口了(缺省是TCP1521)。

方法二:

在注册表:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0上新建一个字符串值:USE_SHARED_SOCKET=true。如果安装了多个目录,则每个类似的目录都要设置:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx (x目录编号)
设置后要求重新启动实例(只重启listener发现没有效果)

 

 

Oracle客户端穿过防火墙连接服务器

图一

Oracle客户端穿过防火墙连接服务器

图二

相关文章: