我正在尝试使用jdbc远程访问oracle数据库,但遇到了问题,搜索完成后我才知道端口可能被防火墙阻止了。 当我执行命令来测试端口是否打开时,我收到以下错误,
telnet MyIP 1521
Connecting to MyIP...Could not open connection to the host, on port 1521 : Connect failed
我尝试通过制作新的入站规则来打开端口,但仍然存在错误 Atlast我关掉了我的防火墙,但它仍然是一样的 如果我为localhost尝试相同的命令,即
telnet localhost 1521
它有效,但使用我的IP地址却不行。 我怎么解决这个问题?
答案 0 :(得分:1)
某些ISP会阻止可能成为某些攻击目标的某些端口。我知道使用MSSQL它使用端口1433或类似的东西,我的服务提供商阻止到该端口的连接。
尝试将dB设置为使用与标准不同的端口,看看是否有效。您也可以致电您的提供商,看看他们是否真的阻止了该端口。
答案 1 :(得分:0)
Configuring the connection between client and server Oracle 10g
在注释中,您摘录了lsnrctl状态:
监听端点摘要... (描述=(地址=(协议= tcp)(主机= 127.0.0.1)(端口= 1521))) 服务摘要... 您的侦听器仅在127.0.0.1上侦听,因此只能从服务器建立连接。没有任何声音在监听您的外部地址10.0.2.39,因此到该地址上的端口1521的连接失败。
您的listener.ora可能只有一个地址,或根本没有地址,它们默认为localhost:1521。您需要将其修改为:
LISTENER = ... (ADDRESS_LIST = ... (地址=(协议= TCP)(主机=本地主机)(端口= 1521)) (地址=(协议= TCP)(主机= 10.0.2.39)(端口= 1521)) ) 或计算机的主机名(如果可以解析到该地址)。理想情况下,这将通过netca来完成,而不是手动编辑文件。