编辑2

编辑2

再会,

我刚刚设置了 Oracle Linux 虚拟机(使用 VirtualBox),其中装有 Oracle 数据库。设置完成后,我可以验证是否可以使用 sqlplus(虚拟机的 sqlplus)连接到它

$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 21 14:32:48 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn myusername/mypassword
Connected.
SQL> select count(1) from my_table;

  COUNT(1)
----------
    73

SQL> 

但是,当我尝试使用 JDeveloper 从主机进行连接时,我得到了

状态:失败 - 测试失败:IO 错误:网络适配器无法建立连接。

我尝试从主机的 JDeveloper 连接到我们内联网上的其他数据库,并且成功了。此外,我还尝试关闭虚拟机的 iptables(以防万一)。

sudo /etc/init.d/iptables stop

但到目前为止,还没有任何效果。

有任何想法吗?

谢谢,

弗朗兹·西

编辑: 更新:我刚刚在主机上安装了 sqlplus(提醒其他人:instantclient 10.2.0.4.0 64bit 无法在 Mac 上运行。即使您的 Mac 和我的一样是 64 位的,也请使用 32 位的。),然后我尝试连接到虚拟机中的 oracle db,成功了!但是,我仍然无法使用 JDeveloper 进行连接。

答案1

在安装了 sqlplus 的机器上,在你的情况下是虚拟机的主机,你需要设置 Oracle 环境变量然后才能连接到其他 Oracle 数据库服务器。例如:

setenv ORACLE_SID orcl
setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_1
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib

您可能必须手动创建管理文件夹和tnsnames.ora该文件夹中的文件。

连接到远程 Oracle 服务器的过程不是向导驱动的,需要您手动操作。上面链接的帮助文档将指导您完成特定环境所需的操作。


编辑1

抱歉,我想我现在明白了。让我们尝试一些不同的东西。

我认为虚拟机上的实例侦听器未侦听 IP 地址。在虚拟机上,转到 Oracle Enterprise Manager Web 界面上的“Net Services Administration”(网络服务管理)页面。编辑侦听器 ( LISTENER_localhost) 并添加侦听器,然后选择使用实例的 IP 地址。保留默认端口 1521。系统将询问您是否要重新启动服务。请重新启动。然后您应该能够从主机(或任何其他机器)进行连接。


编辑2

在 JDeveloper 中,使用第 4 站中的第 3 站上的连接向导,使用服务名称,而不是 SID。

在此处输入图片描述

答案2

我搞清楚了“状态:失败 - 测试失败:IO 错误:网络适配器无法建立连接”是什么意思。事实证明,由于代理配置,它无法建立连接。

相关内容