我有一个oracle客户端,它通过防火墙与Oracle数据库通信。
我被要求将需要打开的端口数限制为绝对最小值。
我认为应该可以限制防火墙只打开端口1521,如果我还在数据库服务器的注册表中设置了USE_SHARED_SOCKET = TRUE设置。
如果没有USE_SHARED_SOCKET设置,似乎Oracle SQLNET客户端在1521向侦听器发出初始请求后将被移交给备用服务器端口。
这是一个现有的应用程序,如果 - 通过设置此参数 - 我打破了应用程序中的数据库通信,我不想创建破坏。
使用USE_SHARED_SOCKET = TRUE可以预期会产生什么不利影响?这是推荐的防火墙策略吗?我看到论坛提到被锁定为“专用服务器模式”,但我认为我不理解这是否相关。
显然Metalink注意124140.1提供了一些其他信息,但我无法访问Metalink。
答案 0 :(得分:3)
在Oracle将连接重定向到不同端口的平台和体系结构上(据我所知,一般是Windows服务器和用于共享服务器连接的Unix服务器),出于效率原因,它通常会这样做。如果将USE_SHARED_SOCKET设置为TRUE,则可能会产生性能问题,因为操作系统必须处理同一端口上许多不同逻辑连接的大量流量。
当然,潜在的性能问题是否会影响您的应用程序是您必须要测试的。您拥有的连接越多,您创建的网络流量越多,问题的可能性就越大。但绝大多数应用程序都不会出现任何明显的性能问题。