3

我一直在尝试使用 Oracle SQL developer 远程连接到 Oracle 12c。它在连接到服务器期间显示以下错误:

 Status : Failure -Test failed: IO Error: The Network Adapter could not establish the connection 

我确实可以连接到服务器上的 oracle 数据库,但问题是关于远程连接到该服务器(数据库)

我的 listener.ora 的内容是:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = D:\app\ORCLNEWUSER\product\12.1.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS =  "EXTPROC_DLLS=ONLY:d:\app\ORCLNEWUSER\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)

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

1 回答 1

6

listener.ora说那只是在听localhost(127.0.0.1),所以除了服务器之外,没有任何东西可以从任何地方连接;服务器外部 IP 地址的 1521 端口上没有任何监听。lsnrctl status您可以使用和进行验证netstat -ano | find "1521"

您需要修改listener.ora以侦听服务器的主机名,或者如果无法解析为正确的 IP,则外部 IP 地址本身 - 您尝试从 SQL Developer 连接的“有效 IP 地址”:

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

您可能还需要检查您的数据库是否能够成功注册。我会验证它是否包含在lsnctrl services您进行更改并重新启动侦听器之前和之后。如果它在重新启动后没有出现,alter system register也没有让它出现,那么您可能需要更改local_listener数据库参数来告诉它应该注册的地址和端口。这确实是一个单独的问题,但可能会随着这种变化而发生;这里有一个例子,如果有可能会有所帮助。

于 2014-04-06T14:26:15.553 回答