【问题标题】:How can I run Oracle XE on localhost only?如何仅在 localhost 上运行 Oracle XE?
【发布时间】:2011-06-26 08:16:13
【问题描述】:

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

【问题讨论】:

    标签: oracle oracle10g oracle-xe


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,这对我有用。按照第一个链接中的信息解决了这两个问题。我刚刚在 sqlnet.ora 文件中添加了 'tcp.validnode_checking = yes tcp.invited_nodes = (localhost, )' 并重新启动了服务,它就可以工作了。
    猜你喜欢
    • 1970-01-01
    • 2017-02-22
    • 2016-06-03
    • 2016-05-27
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    相关资源
    最近更新 更多