2011-08-11 95 views
17

我已通过我的系统上的sqldeveloper连接到远程oracle数据库。突然,电源断开,我不得不重新启动系统。 现在,当我尝试连接到远程oracle数据库时,它会抛出一条错误消息:sqldeveloper错误消息:网络适配器无法建立连接错误

网络适配器无法建立连接。 供应商代码20

任何人都可以帮助我解决这个问题。

+3

它看起来像oracle守护进程或bg服务尚未启动。 – asgs

+0

@Negi,我的同事有同样的问题(但在他的问题中,它只发生在使用TNSNames的特定模式!)。虽然这不是一个雄辩的解决方案,但是我们从使用连接类型'TNSNames'切换到BASIC(然后手动提供所有可通过tnsPing或仅查看tnsnames.ora文件的主机名/端口/&SID ==>)它的工作。虽然我本来希望解决这个问题,但让他的开发人员成为更紧迫的问题,我们就这么做了。 h – Harrison

回答

4

检查监听状态,看它是否是下来:

ps -ef | grep tns

如果你没有看到有关监听器输出:

oracle 18244 /apps/oracle/product/11.2.0/db_1/bin/tnslsnr LISTENER -inherit

然后,你将需要启动它起来。要执行此操作,请执行lsnrctl命令。

类型startLSNRCTL>提示中。

+0

由于线程启动器不再打扰了,这就是为我工作的答案。 – Dexter

7

https://forums.oracle.com/forums/thread.jspa?threadID=2150962

回复:SQL DevErr:网络适配器无法建立连接VenCode20 发布时间:2011年12月7日上午3时23分回复:回复MehulDoshi

这为我工作:

打开“新建/选择数据库连接”对话框,尝试将连接类型设置从“基本”更改为“TNS”,然后选择网络别名(对于我:“ORCL”)。

0

这为我工作:

尝试删除使用NETCA老听众,然后用相同的名字添加新的监听器。

1

如果您在使用远程oracle数据库时出现此类错误,您可以删除您的tnsname和侦听器,然后使用“主机名”或ip地址而不是“localhost”创建新配置。 如 的listener.ora

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) 
    ) 

的tnsnames.ora

DB = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = DB) 
    ) 
) 

它工作正常的我。

1

在连接属性窗口中,我将我的选择从“SID”更改为“服务名称”,并将我的SID复制到服务名称字段中。不知道为什么会发生这种变化,或者它为什么起作用,但它让我回到了Oracle。

1

问题 - 我无法通过sql开发人员连接到数据库。

解决方案 - 首先要注意的是SQL Developer只是UI才能访问您的数据库。我需要连接远程数据库而不是本地主机,所以我不需要安装oracle 8i/9i。我只需要安装Oracle客户端。安装完成后,得到如下环境变量的路径:C:\ oracle \ product \ 10.2.0 \ client_1 \ bin。但我仍然无法连接数据库。

要检查的事情。

  1. Listner /端口应该为您要连接的服务器IP启动。
  2. 你将能够ping服务器。转到cmd提示符。键入ping服务器IP然后输入。
  3. telnet服务器IP和端口。应该是成功的。

如果所有点都可以,那么请检查您正在运行sql developer .exe文件的位置。我将sql开发者文件夹粘贴到C:\ oracle文件夹并从这里运行.exe文件,并且我能够连接数据库。和我的问题'IO错误:网络适配器无法建立连接'已解决。 Hurrey ... :) :)

2

我刚刚创建了一个本地连接,打破了我的头几个小时。所以想到帮助你们。

  • 1步:检查位于

    C本的文件名的listener.ora:\ APP \\产品\ 12.1.0 \ dbhome_3 \网络\ ADMIN

    检查你的主机名,端口和服务,并给予相同的创建新的数据库连接 。

  • 第2步:如果不工作,请尝试以下的组合给PORT:1521SID: orcl给PORT:和 SID: orclPORT:1521SID: pdborclPORT:1521

    SID:管理员

如果您获取错误为“错误的用户名和密码”:
请确保您提供的用户名和密码正确

如果仍然不起作用试试这个: 用户名:系统密码:。

希望它有帮助!

2

我有同样的问题。我正在使用Windows 7,这也应该适用于Windows 8.当我查看任务管理器时,负责TNS监听器和数据库的服务已停止。

1:按Ctrl-Alt-Del并选择“启动任务管理器”。

从那里进入“服务”选项卡。

有5个服务需要运行才能正确访问数据库。

在下面的列表中,“databasename”是在创建过程中不带引号时分配的数据库名称。

我也使用数据库11g,如果您使用的是另一种类型,那么这些字段在下面会有所不同。回家后的*是家里安装,如果你有超过1个数据库将有被HOME1,并HOME2

这是5个服务

  1. OracleVssWriter“数据库名称”
  2. OracleService“数据库名称”
  3. OracleOraDb11g_home *的TNSListener
  4. OracleOraDb11g_home * ClrAgent
  5. OracleDBConsole “数据库名称”

如果任何这些服务停止,请右键点击它们并启动它们。在他们全部开始回到SQL开发人员并重新尝试连接并且它应该工作。

5

控制面板>管理工具>服务>

开始OracleOraDb11g_home1TNSListener

1

我新鲜Oracle安装后出现此错误。

为了解决这个问题,我推出网络配置助手(从文件夹开始菜单或netca.bat),并简单地添加一个监听器。

相关问题