设置 USE_SHARED_SOCKET 以通过防火墙访问 Oracle 数据库
我有一个 Oracle 客户端,它通过防火墙与 Oracle 数据库进行通信。
我被要求将需要打开的端口数量限制在绝对最低限度。
我认为如果我还在数据库服务器的注册表中设置 USE_SHARED_SOCKET = TRUE 设置,应该可以限制防火墙仅打开端口 1521。
如果没有 USE_SHARED_SOCKET 设置,Oracle SQLNET 客户端似乎在向 1521 上的侦听器发出初始请求后将获得备用服务器端口以供使用。
这是一个现有应用程序,如果通过设置此参数,我不想造成严重破坏- 我中断了应用程序中的数据库通信。
使用 USE_SHARED_SOCKET = TRUE 会产生什么负面影响(如果有的话)?这是推荐的防火墙策略吗? 我见过论坛提到被锁定到“专用服务器模式”,但我认为我不明白这是否相关。
显然 Metalink NOTE 124140.1 提供了一些附加信息,但我无权访问 Metalink。
I have an oracle client which communicates with an Oracle database through a firewall.
I have been asked to limit the number of ports that need to be opened to an absolute minimum.
I think it should be possible to limit the firewall to open port 1521 only, if I also set the USE_SHARED_SOCKET = TRUE setting in the database server's registry.
Without the USE_SHARED_SOCKET setting, it seems that the Oracle SQLNET client is handed alternate server ports to use after the initial request to the listener on 1521.
This is an existing application, and I don't want to create havoc if - by setting this parameter - I break database communication in the application.
What - if any - adverse effects could I expect by using USE_SHARED_SOCKET = TRUE?. Is this a recommended firewall strategy? I've seen forums mentioning being locked to "dedicated server mode", but I don't think I understand if this is relevant.
Apparently Metalink NOTE 124140.1 provides some additional information, but I don't have access to Metalink.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Oracle 将连接重定向到不同端口的平台和体系结构上(据我所知,一般是 Windows 服务器,共享服务器连接是 Unix 服务器),它通常这样做是出于效率的考虑。如果将 USE_SHARED_SOCKET 设置为 TRUE,则可能会出现性能问题,因为操作系统必须处理同一端口上许多不同逻辑连接的大量流量。
当然,潜在的性能问题是否真正影响您的应用程序是您必须测试的事情。您拥有的连接越多,创建的网络流量就越多,出现问题的可能性就越大。但绝大多数应用程序不会出现任何明显的性能问题。
On platforms and architectures that Oracle redirects connections to different ports (to the best of my knowledge, Windows servers in general and Unix servers for shared server connections), it generally does so for reasons of efficiency. If you set USE_SHARED_SOCKET to TRUE, you create the potential that there will be performance problems because the operating system has to deal with a lot of traffic for a lot of different logical connections on the same port.
Whether the potential performance problems actually affect your application, of course, is something that you'd have to test. The more connections you have, the more network traffic you create, the greater the potential for problems. But the vast majority of applications won't see any appreciable performance problems.