0

我创建了一个名为 listener 的监听器(使用 netca)。

当我启动监听器(使用 lsnrctl start)时,我有以下日志。

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-JUN-2012 17:56:35

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

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

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sakura)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                24-JUN-2012 17:56:35
Uptime                    0 days 0 hr. 0 min. 10 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/network/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/sakura/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

问:为什么听众在 localhost 而不是 sakura 上收听?!?

这是我的 listener.ora 文件(我明确指定使用 sakura):

TRACE_DIRECTORY_PROD = /var/opt/oracle/otk/1.0/log/network/trace

SUBSCRIBE_FOR_NODE_DOWN_EVENT_PROD = 关闭

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = sakura)(PORT = 1521)) ) )

ADR_BASE_LISTENER = /opt/oracle

LOG_DIRECTORY_PROD = /var/opt/oracle/otk/1.0/log/network

为什么我做错了?

谢谢

4

2 回答 2

1

从评论扩展

似乎正在解析到与iesakura相同的地址。这表明 中有一个条目映射到。localhost.localdomain127.0.0.1/etc/hostssakura127.0.0.1

您可以:

  • 删除该映射;
  • 更改它以显示外部 IP 地址,如果它没有自动解析为一个;
  • 如果您有一个解析为外部 IP 的域名,请更改您listener.ora以使用完全限定的域名,例如sakura.example.com
  • 或更改您listener.ora以直接使用外部 IP 地址而无需查找。

最后一个选项可能是最简单的,除非您有 DHCP 分配的 IP 地址;以及@dseibert 的建议。

于 2012-06-26T12:49:21.453 回答
0

如果您更改主机名:{newHostName}

步骤 1. 检查环境变量:

> export ORACLE_HOSTNAME={newHostName}
> export ORACLE_UNQNAME=ORCL
> export ORACLE_BASE=/oracle
> export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
> export ORACLE_SID=ORCL

步骤 2. 在 oracle 安装目录(例如 /oracle)中查找“oldHostName”(例如 oracle_12C.localdomain)以查看您的主机名:

主机名 grep -r "oracle_12C" /oracle

就我而言,我发现这些文件可以使用新的“newHostName”手动更改“oracle_12C.localdomain”:

File 1) /oracle/product/12.1.0/db_1/install/chainedInstall/globalcontext.xml
File 2) /oracle/product/12.1.0/db_1/inventory/Components21/oracle.rdbms.scheduler/12.2.0.1.0/context.xml
File 3) /oracle/product/12.1.0/db_1/inventory/Components21/oracle.ldap.client/12.2.0.1.0/context.xml
File 4) /oracle/product/12.1.0/db_1/inventory/Components21/oracle.server/12.2.0.1.0/context.xml
File 5) /oracle/product/12.1.0/db_1/inventoy/Clone/clone.xml

步骤 3. 启动实例: 进入 sqlplus:

cd $ORACLE_HOME/bin sqlplus / AS SYSDBA SQL> 启动

步骤 4. 启动监听器 {SID} 例如:

cd $ORACLE_HOME/bin lsnrctl 启动 ORCL

步骤 5. 在控制台中检查结果...服务“ORCL”有 1 个实例。...

于 2019-11-19T05:24:01.013 回答