1

我配置了以下两个oracle数据库的配置文件。

/opt/oracle/11.2.0/network/admin/listener.ora具有以下值

ADR_BASE_LISTENER = /opt/oracle



LISTENER_JIPDB =
  (DESCRIPTION_LIST =
          (DESCRIPTION =
                (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1530))
          )
  )

SID_LIST_LSNR_JIPDB =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = DWJP02T)
      (ORACLE_HOME = /opt/oracle/11.2.0)
      (SID_NAME = DWJP02T)
    )
  )

我已将/opt/oracle/11.2.0/network/admin/tnsnames.ora 文件配置为具有以下值

LISTENER_JIPDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain )(PORT = 1530))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DWJP02T)
    )
  )

我的问题是当我尝试通过键入以下命令启动 oracle 列表器时,它正在 1521 端口中打开 DWJP02T SID 实例,我不知道它是如何获取此端口或从何处读取此端口的,我已配置到它读取 .ora 文件上的 1530。

这是我启动侦听器时得到的输出

[ora112@localhost ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 26-DEC-2012 22:48:16

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

Starting /opt/oracle/11.2.0/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.3.0 - Production
System parameter file is /opt/oracle/11.2.0/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                26-DEC-2012 22:48:16
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/11.2.0/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
The listener supports no services
The command completed successfully

请帮助我理解为什么它在不同于我配置它启动的端口上打开数据库。我重新启动了数据库和服务器以查看它是否会从 listner.ora 文件中读取值,但仍然没有运气。

4

1 回答 1

5

尝试以下步骤来提交请求:

  • 使用以下命令停止 Oracle 侦听器:

    lsnrctl stop
    
  • 更改 Oracle listener.ora 文件中的端口号。例如,从默认端口 1522 到 1521。

  • 更改 tnsnames.ora 文件中的端口号,如下例所示,其中host_name是您的主机名和server_name服务器名。

  • 使用以下命令重新启动 Oracle 侦听器:

    lsnrctl start
    
  • 更改数据库正在侦听的端口:

    sqlplus / as sysdba        
    > alter system set LOCAL_LISTENER="(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))";        
    > alter system register;
    
于 2012-12-27T06:09:12.153 回答