如何仅在localhost上运行Oracle XE?

时间:2011-02-13 05:52:47

标签: oracle oracle10g oracle-xe

有没有办法在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都可以正常工作。

1 个答案:

答案 0 :(得分:6)

这有两个部分(因为有两种“技术”服务于不同的端口)。

首先是数据库端口1521的侦听器。您使用SQLNET.ORA设置(tcp.invited_nodes)作为软防火墙,因此侦听器将忽略其他节点。

其次,对于8080 PL / SQL网关,您需要使用DBMS_XDB.SETLISTENERLOCALACCESS,如here所述