Oracle 侦听器在错误的主机(本地主机)上侦听

Oracle 侦听器在错误的主机(本地主机)上侦听,oracle,localhost,listener,Oracle,Localhost,Listener,我创建了一个名为listener的侦听器(使用netca) 当我启动侦听器(使用lsnrctl start)时,我有以下日志 为什么听者在本地主机上听而不是在樱花上听 这是我的listener.ora文件(我明确指定使用sakura): TRACE\u DIRECTORY\u PROD=/var/opt/oracle/otk/1.0/log/network/TRACE 订阅\u节点\u关闭\u事件\u生产=关闭 LISTENER=(描述\u列表= (说明= (地址=(协议=TCP)(主机=sak

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

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

为什么听者在本地主机上听而不是在樱花上听

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

TRACE\u DIRECTORY\u PROD=/var/opt/oracle/otk/1.0/log/network/TRACE

订阅\u节点\u关闭\u事件\u生产=关闭

LISTENER=(描述\u列表= (说明= (地址=(协议=TCP)(主机=sakura)(端口=1521)) ))

ADR_BASE_LISTENER=/opt/oracle

LOG\u DIRECTORY\u PROD=/var/opt/oracle/otk/1.0/LOG/network

我为什么做错了

谢谢

从评论中展开

似乎
sakura
正在解析为与
localhost.localdomain
相同的地址,即
127.0.0.1
。这表明
/etc/hosts
中有一个条目将
sakura
映射到
127.0.0.1

您可以:

  • 删除该映射
  • 如果无法自动解析为外部IP地址,则将其更改为显示外部IP地址
  • 如果您的
    listener.ora
    解析为外部IP,请将您的
    sakura.example.com
    更改为使用完全限定的域名
  • 或者将您的
    listener.ora
    更改为直接使用外部IP地址而无需查找

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

如果更改主机名:{newHostName}

第一步。检查环境变量:

> 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
第二步。在oracle安装目录(例如/oracle)中查找关于“oldHostName”(例如oracle_12C.localdomain)的信息 要查看主机名,请执行以下操作:

主机名 grep-r“oracle_12C”/oracle

在我的例子中,我发现这些文件手动将其更改为“oracle_12C.localdomain”和新的“newHostName”:

第三步。启动实例: 转到sqlplus:

cd$ORACLE_主页/bin sqlplus/AS SYSDBA SQL>启动

第四步。启动侦听器{SID} e、 g:

cd$ORACLE_主页/bin lsnrctl启动ORCL

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

将(HOST=sakura)(PORT=1521)更改为(HOST=)(PORT=1521)是否使您能够连接?是否确实使用了正确的listener.ora文件?从参数log\u目录的值来看,t看起来不像_prod@steve-
*\u PROD
参数适用于名为
PROD
的侦听器;名为
listener
的侦听器看起来将获得除侦听地址之外的所有内容的默认值。由于
lsnrctl
消息同时显示
localhost.localdomain
sakura
,因此我认为
sakura
只是在
/etc/hosts
中解析为
127.0.0.1
。使用显式外部IP或FQDN可以解决此问题。是的,问题是/etc/hosts文件。我为sakura使用了一个显式的外部IP,但我也将127.0.0.1定义为sakura,以修复sendmail的启动时间问题。现在它正在正确的服务器上(即:sakura)监听,但是sendmail和sm客户端的启动时间将永远花费:(我可以接受它的想法…感谢您的解决方案!!!
> 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
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