8

我有一个位于 server_c 上的 Oracle 数据库,只有在 server_b 上才能访问。所以为了连接到这个 Oracle 数据库,我必须先通过 SSH 登录到 server_b,然后输入以下命令来连接它。

sqlplus username/password@server_c:1571/service

我想在 DataGrip 中连接到 Oracle 数据库,首先我在SSH/SSL选项卡中输入了我的用户名和密码。

SSH 标签

然后我输入了一般数据库信息。

在此处输入图像描述

我以为没问题,但是当我单击 时Test Connection,出现错误。

错误:连接到 Oracle - @server_c 失败。ORA-00604:递归 SQL 级别 1 发生错误 ORA-20001:服务器不在有效应用程序服务器列表中 ORA-06512:在第 28 行

如果我尝试直接连接到数据库而不事先登录到 server_b,则会出现此错误。换句话说,我认为DataGrip在连接数据库之前不会先连接到SSH隧道。

我不确定我SSH/SSL是否以这种方式正确使用标签。因此,如果您知道为什么它不起作用或有任何解决方案,请告诉我。

4

1 回答 1

0

线索在错误消息中:

错误:连接到 Oracle - @server_c 失败。ORA-00604:递归 SQL 级别 1 发生错误 ORA-20001:服务器不在有效应用程序服务器列表中 ORA-06512:在第 28 行

请咨询您的 DBA:

  1. 一个sqlnet.ora有效的节点检查tcp.validnode_checking= ...

或更可能:

  1. 防止“未知服务器”登录的登录触发器。
于 2018-05-07T15:55:03.810 回答