小编典典

使用Oracle SQL Developer连接到Oracle 12c(远程)

sql

我一直在尝试使用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))     
)
)

阅读 222

收藏
2021-04-22

共1个答案

小编典典

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数据库参数,以告诉它应向其注册的地址和端口。

2021-04-22