Oracle DB链接无效

时间:2018-04-18 04:54:44

标签: oracle ssh vpn portforwarding dblink

我们有2个Oracle数据库。让我们来说A& B.

需要创建从A到B的数据库链接。

A是安装在专用网络中的云数据库,通过SSH和本地端口转发我们可以访问A。

B也安装在专用网络中,通过VPN我们可以访问B。

A和B DB都无法直接访问。

我创建了从A到B的数据库链接。但它无效,得到以下错误

ORA-12170: TNS:Connect timeout occurred
12170. 00000 -  "TNS:Connect timeout occurred"
*Cause:    The server shut down because connection establishment or
           communication with a client failed to complete within the allotted time
           interval. This may be a result of network or system delays; or this may
           indicate that a malicious client is trying to cause a Denial of Service
           attack on the server.
*Action:   If the error occurred because of a slow network or system,
           reconfigure one or all of the parameters SQLNET.INBOUND_CONNECT_TIMEOUT,
           SQLNET.SEND_TIMEOUT, SQLNET.RECV_TIMEOUT in sqlnet.ora to larger values.
           If a malicious client is suspected, use the address in sqlnet.log to
           identify the source and restrict access. Note that logged addresses may
           not be reliable as they can be forged (e.g. in TCP/IP).

我在网上搜索并尝试了很多次。

有人建议我如何创建从A到B的数据库链接。

提前致谢。

1 个答案:

答案 0 :(得分:1)

“TNS:连接超时发生”,顾名思义意味着我们无法从“A”到“B”获取任何可能的网络原因(防火墙,物理网络等)。

尝试以这种方式解决问题。登录到服务器A,从该计算机运行tnsping / sqlplus以尝试连接到B.这可能涉及设置钱包,sqlnet.ora,tnsnames.ora等,以及根据防火墙等可能使网络人员参与。 / p>

但是如果你可以从服务器A到B发起连接,那么只有在这一点上你才能获得从A到B的数据库链接。(显然同样适用于获取数据返回< / em>从B到A)。