我的应用程序(linux 和 windows)通过 OCI 接口连接到 oracle。是否可以通过 socks 代理连接到 oracle?或其他类似的代理方法?简单的 ssh 隧道是不够的,因为我需要通过单个端口访问多个服务(包括 oracle)。
编辑:我已尝试按照答案中的建议配置代理,但它不起作用。而且我找不到任何信息,那个oracle可以通过socks5代理工作。
正如我所见,Oracle 不支持 socks 代理。
为了解决这个问题,我做了以下工作:
正如我所看到的 - 这种方法并不总是有效。PL/SQL Developer 只能在 3-4 次尝试时连接到数据库。但是在成功连接后 - 它似乎足够稳定以供工作。
第二种选择 - 是使用基于 Java 的工具,如 SQL Developer。对于 Java,有开箱即用的 SOCKS5 系统选项。-DsocksProxyHost=localhost -DsocksProxyPort=8081
java中有关于SOCKS的官方文档
我有同样的问题要解决。无论如何,上面的解决方案都行不通。您需要告诉客户端只使用代理进行连接初始化,但连接的目标应该是 oracle 数据库服务器 IP 和端口。其他论坛通过 tnsnames.ora 阅读没有这种可能性。但是您应该能够使用连接管理器来实现这一点。还没有找到如何下载和安装它虽然...
是的,这是可能的。您的客户端 tnsnames.ora 文件(或 EZConnect 字符串)应将代理主机指定为数据库主机,并将代理侦听端口指定为端口。SERVICE_NAME 或 SID 是代理另一端的 SQL*Net 侦听器所期望的。
[编辑] 如果您的代理主机在 1522 上侦听和转发,您应该能够:
telnet proxyhost 1522
看看:
Trying xx.xxx.xx.xxx...
Connected to proxyhost.domain.
Escape character is '^]'.