【问题标题】:Oracle listener portOracle 侦听器端口
【发布时间】:2020-03-03 05:20:02
【问题描述】:

我使用的是 Oracle 12c 企业版。我的监听器配置有些奇怪。

  1. 检查监听器是否正在运行
$ ps -ef | grep tns
root        261      2  0 Jan16 ?        00:00:00 [netns]
oraxxx    12669      1  0 Jan16 ?        00:10:33 /oracle/PR1/112_64/bin/tnslsnr LISTENER -inherit

  1. 查看监听器LISTENER的状态,我们可以看到它在9119端口监听
Listener Parameter File   /u01/app/grid/12.1.0.1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/xxx/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.x.x.x)(PORT=9119)))

  1. 检查侦听器文件的内容。我找不到这里配置的端口 9119。
$ cat /u01/app/grid/12.1.0.1/network/admin/listener.ora

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))            # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET                # line added by Agent
SID_LIST_LISTENER =
(SID_LIST =
        (SID_DESC =
                (GLOBAL_DBNAME = xxx_DG)
                (ORACLE_HOME = /u01/app/oracle/product/12.1.0.1/db_1)
                (SID_NAME = xxx)
        )
)

--> 如果 listener.ora 中没有配置端口,Oracle 怎么知道它会在端口 9119 上运行?

  1. 检查 local_listener 并没有显示任何内容
SYS@xxx> show parameter local_listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string

在我的测试服务器中,我可以看到listener.ora文件中配置的端口和local_listener中的值

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1901))

SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (ADDRESS=(PROTOCOL=TCP) (HOST=
                                                 192.168.56.103) (PORT=1901))

我想知道是否有任何我可能不知道或听不到的特殊配置。有人可以就这个案子给我建议吗?

【问题讨论】:

  • 在您使用版本11g 和目录/oracle/PR1/112_64.... 时,请注意目录....12.1.0.1。也许你有一个不匹配的原因。
  • 我仔细检查了这一点,因为这是我的错误。我打开 2 个不同的系统来检查这一点。其中之一是11g。版本是12c,我更新了帖子。
  • 如果未配置端口,则为 1521。您有从 11g 主目录运行的侦听器(或者从文件路径的名称来看),并且您正在检查一个正在运行的侦听器来自 12c 的家。您是否配置了 RAC?如果是,请使用“srvctl config listener”检查配置。
  • 看起来是旧路径,oracle 后来升级到12c。它不是默认端口 1521。如上所示,它是 9119。它不是 RAC。

标签: oracle listener


【解决方案1】:

我在 tnsnames.ora 上找到了这个

LISTENER_xxx_DG =
  (DESCRIPTION =
    (PROTOCOL = TCP)
    (HOST = xxx-DG)
    (PORT = 9119)
  )

那么,监听代码可以包含在 tnsnames.ora 中吗?

【讨论】:

    猜你喜欢
    • 2015-04-17
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2017-08-20
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多