使用Oracle Sql开发人员(远程)连接到oracle 12c

时间:2014-04-06 10:50:34

标签: sql oracle oracle-sqldeveloper oracle12c

我一直在尝试使用Oracle SQL开发人员远程连接到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))     
)
)

1 个答案:

答案 0 :(得分:5)

您的listener.ora表示仅在localhost(127.0.0.1)上收听,因此除了服务器之外,任何地方都无法连接;在服务器的外部IP地址上没有侦听端口1521。您可以使用lsnrctl statusnetstat -ano | find "1521"验证该内容。

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

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

您可能还需要检查数据库是否能够成功注册。在您进行更改并重新启动侦听器之前和之后,我验证它是否包含在lsnctrl services中。如果在重新启动后没有显示,并且alter system register没有显示,那么您可能需要更改local_listener数据库参数以告诉它应该的地址和端口注册。这确实是一个单独的问题,但可以从这个变化中继续下去; there's an example here如果有的话可能会有所帮助。

相关问题