有没有办法在Windows上配置XE安装只使用localhost接口上的端口而不是外部接口?我想运行它进行开发,而没有其他任何人能够连接到我的实例。
我尝试修改listener.ora和tnsnames.ora文件,将'HOST ='条目更改为localhost。我的hosts文件中包含以下行:
127.0.0.1 localhost
当我完成此操作并重新启动服务时,apex停止工作(它不会侦听端口8080)并且我无法使用JDBC连接到数据库。我在JDBC中遇到以下错误:
Exception in thread "main" java.sql.SQLException: Listener refused the connection
with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect
descriptor
The Connection descriptor used by the client was:
localhost:1521:XE
我应该注意,如果我将'HOST =条目更改回我的机器主机名并重新启动服务,那么apex和JDBC都可以正常工作。
答案 0 :(得分:6)
这有两个部分(因为有两种“技术”服务于不同的端口)。
首先是数据库端口1521的侦听器。您使用SQLNET.ORA设置(tcp.invited_nodes)作为软防火墙,因此侦听器将忽略其他节点。
其次,对于8080 PL / SQL网关,您需要使用DBMS_XDB.SETLISTENERLOCALACCESS,如here所述