【问题标题】:Oracle Express Edition - Can not connect remotely (plus others)Oracle Express Edition - 无法远程连接(以及其他)
【发布时间】:2010-09-20 16:25:30
【问题描述】:

我无法远程连接到 Oracle XE 安装(通过 TOAD/SQL Developer)。这是交易。

我设置了一个新服务器(Windows 2003)。目标是制作一个预装了多个应用程序的新映像,Oracle XE 就是其中之一。安装 Oracle 没有问题,本地连接,远程连接并可以访问 Web 界面 - 在http://127.0.0.1:8081/apex 找到的那个(注意:当我们在 8080 上运行 Tomcat 开发环境时,我手动更改了 Web 界面的端口)。

所以,一切都很顺利,我创建图像,擦拭机器并将新创建的图像放在那里。除 Oracle 外,一切正常。经过一番挖掘,我更新了 tnsnames.ora 文件,添加了环境变量 ORACLE_HOME 和 ORACLE_SID,这样我就可以本地连接了。 我仍然无法远程连接并且完全无法访问网络界面。我在谷歌上呆了 2 天,我完全没有想法。请帮忙!

【问题讨论】:

  • 你能提供一些错误信息吗?
  • TOAD 在“新建连接”对话框中有一些有用的调试...这是什么意思?

标签: windows oracle-xe


【解决方案1】:

ManuelF 与通过 Web 前端的访问相关,但与通过 Web 前端的本地访问无关。

您没有说明如何处理主机名/地址,或者您如何在本地连接。 如果你正在做 SQLPLUS / AS SYSDBA 然后你直接附加。 如果您正在执行SQLPLUS user/pass@XE,那么您将通过侦听器进行附加。如果前者有效而后者无效,请查找名为 listener.ora 的文件并检查其中的主机名。如果仍有问题,请尝试

sqlplus user/pass@127.0.0.1:1521/XE

如果可行,那么问题出在 tnsnames.ora 上。

在远程访问中,如果您的映像安装在“box a”上,并且您希望从“box b”访问,您可以从“box b”ping 'box a'。 然后尝试,在 box_b 上

sqlplus user/pass@box_a:1521/XE

这假设您在 box_b 上有一个带有 sql*plus 的 Oracle 客户端。如果可行,您需要查看 box_b 上的 tnsnames.ora 文件。 如果您在 box_b 上没有 Oracle 客户端,Oracle 的 SQL Developer 可以通过 JDBC 瘦驱动程序连接(不需要任何 Oracle 客户端),为此您需要指定主机、侦听器端口(通常为 1521 ) 和 sid (速成版的 XE)

【讨论】:

    【解决方案2】:

    您是否检查了防火墙上是否打开了 1521 端口?

    【讨论】:

      【解决方案3】:

      从 Web 界面,您必须以 DBA 身份登录 [我认为],并且管理部分中有一个选项,您必须激活“启用外部连接”。

      编辑:完整路径:WebInterface -> 管理 -> [下拉菜单] 管理 HTTP 访问 -> 可从本地服务器和远程客户端获得。

      【讨论】:

        【解决方案4】:

        只需以 sysdba 或系统用户身份登录 sqlplus,然后执行以下命令:

        execute dbms_xdb.setListenerLocalAccess(l_access => FALSE);
        

        【讨论】:

          【解决方案5】:

          我发现远程连接无法连接到我的 Ubuntu 机器,因为我错误地配置了 /etc/hosts 文件。机器在/etc/interfaces中设置了静态IP,但是hosts中的条目有错误的IP地址:

          127.0.0.1       localhost
          127.0.1.1       fqdn.domain.com        myhost
          sta.tic.ip.address        fqdn.domain.com        myhost
          

          最后一行的 IP 错误。

          结果,运行lnsrctl status 并没有列出 XE 服务。更正主机文件后,我重新启动了 oracle-xe 服务,远程连接开始工作。

          【讨论】:

            【解决方案6】:

            我在运行带有防火墙的 Windows 8.1 时遇到了类似的问题。我已经安装了 Oracle XE 11g 并安装了 Oracle Application express 5.0.2。一切都在本地主机/机器上按预期工作。唯一的问题是无法从局域网中的远程机器登录到 oracle application express。

            经过一番研究,通过将 TNSLSNR 可执行文件添加到 Windows 防火墙设置中解决了该问题,如下所示。

            系统和安全 --> Windows 防火墙 --> 允许的应用

            【讨论】:

              【解决方案7】:

              确保您的机器已启用远程连接。 在本地计算机上以 SYSTEM 用户身份连接到 http://localhost:8080/apex/,然后转到 Administration 并从右侧面板中选择 Manage HTTP Access 然后在以下窗口中选择

              可从本地服务器和远程客户端获取

              所以按应用更改。

              在我的机器上,我必须重新启动才能获得结果。

              【讨论】:

                猜你喜欢
                • 2018-03-05
                • 2010-10-06
                • 1970-01-01
                • 1970-01-01
                • 2010-10-28
                • 1970-01-01
                • 1970-01-01
                • 2020-07-31
                • 1970-01-01
                相关资源
                最近更新 更多