sql之使用 Oracle Sql developer(远程)连接到 oracle 12c
我一直在尝试使用 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))
)
)
请您参考如下方法:
你的 listener.ora
说它只在 localhost
(127.0.0.1) 上监听,所以除了服务器之外,任何地方都无法连接;服务器外部 IP 地址上的端口 1521 上没有任何监听。您可以使用 lsnrctl status
和 netstat -ano | 验证这一点找到“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如果确实如此,这可能会有所帮助。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。