【问题标题】:Oracle listening on changing port for remote connectionsOracle 监听更改端口以进行远程连接
【发布时间】:2010-05-05 09:07:55
【问题描述】:

我安装了 Oracle 11gR2,我现在正尝试从远程系统访问数据库。

我的 listener.ora 还是默认的:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /media/oracle/app/oracle

./lsnrctl services 返回:

oracle@ubuntu:/media/oracle/app/oracle/product/11.2.0/dbhome_1/bin$ ./lsnrctl services

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 05-MAY-2010 05:00:49

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "gis.c2c" has 1 instance(s).
  Instance "gis", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         LOCAL SERVER
Service "gisXDB.c2c" has 1 instance(s).
  Instance "gis", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: ubuntu, pid: 2916>
         (ADDRESS=(PROTOCOL=tcp)(HOST=ubuntu.localdomain)(PORT=47616))
The command completed successfully

我无法使用端口 1521 获得远程连接,但上面列出的端口 47616 可以。我不介意使用与 1521 不同的端口,但问题是每次重新启动时此端口都会更改。

出了什么问题?

谢谢!

【问题讨论】:

    标签: oracle port listener oracle11g


    【解决方案1】:

    这不是编程问题,可能属于服务器故障。

    但是,我会想到以下几点:

    localhost 是否在 /etc/hosts 中定义?而且,如果您想从网络访问侦听器,则不应在本地主机上侦听,而应在外部地址上侦听。

    端口 1521 可用吗?通过运行 netstat -tlnp 进行验证。

    【讨论】:

    • 感谢您的回复,您是对的,serverfault 可能是一个更好的地方。我错过了说我可以在本地连接到端口 1521。localhost 列在 /etc/hosts 和 netstat 输出中:tcp 0 0 127.0.0.1:1521 0.0.0.0:* LISTEN - ... tcp6 0 0 :::11432 :::* 听 - ...
    • 这确认它只在端口 1521 上的本地接口上侦听,因此从外部看不到。您必须将 listener.ora “localhost” 更改为外部地址。 (而且,尝试从外部网络访问“localhost”表明,恕我直言,您需要学习 TCP/IP 网络的基础知识。)
    • 那么在其默认配置中,Oracle 只能从 localhost 访问?我将部分“(HOST = localhost)”更改为“(HOST = ubuntu.localdomain)”(或“(HOST = 172.16.101.32)”)并运行“./lsnrctl reload”,但没有任何改变。 listener.ora 应该是什么样的?
    • (HOST = 172.16.101.32) 应该可以工作。我会尝试使用网络助手 GUI 从头开始​​创建新的 listener.ora。如果您在服务器上安装了 X Window(或能够连接到远程桌面),运行“netca”,选择“监听器配置”,删除监听器并重新创建。
    • 好的,运行 './lsnrctl reload' 还不够,我不得不重新启动 Oracle。然后它与'(HOST = ubuntu.localdomain)'一起工作。感谢您的帮助!
    猜你喜欢
    • 2013-05-31
    • 2017-11-20
    • 2012-08-24
    • 2018-02-04
    • 1970-01-01
    • 2020-09-15
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多