lsnrctl start 启动报错:
[oracle@DBKAIFA131 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 20-FEB-2020 11:09:27
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /home/u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /home/u01/app/oracle/diag/tnslsnr/DBKAIFA131/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.28.131)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.28.131)(PORT=1521)))
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 104: Connection reset by peer
查看Listener.ora文件配置内容:
[oracle@DBKAIFA131 admin]$ more listener.ora
LISTENER=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.28.131)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=ora)
(ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=ora))
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/db_1)
(PROGRAM=extproc)))
listener.ora配置没问题,继续检查etc/hosts文件内容:
127.0.0.1 DBKAIFA131
10.10.28.131 DBKAIFA131
有问题进行修改:
127.0.0.1 localhost.localdomain localhost
10.10.28.131 DBKAIFA131
后再启动listener.ora成功:
[oracle@DBKAIFA131 admin]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 20-FEB-2020 11:18:00
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /home/u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /home/u01/app/oracle/diag/tnslsnr/DBKAIFA131/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.28.131)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.28.131)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 20-FEB-2020 11:18:02
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /home/u01/app/oracle/diag/tnslsnr/DBKAIFA131/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.28.131)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
Services Summary...
Service "ora" has 1 instance(s).
Instance "ora", status UNKNOWN, has 1 handler(s) for this service...
Service "plsextproc" has 1 instance(s).
Instance "plsextproc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
分析原因:
Linux主机名的相关配置文件就是/etc/hosts;这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip;
hosts文件的格式如下:
IP地址 主机名/域名
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
127.0.0.1 localhost.localdomain localhost 记录了本机的ip和主机名。
如果少了这行配置,listener是启动不了的,原因如下:
127.0.0.1因为这个地址是循回地址,主要作用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.1也同样可以运行。
分析ORACLE监听启动过程:ORACLE在启动监听的过程中,首先会检查本地网络是否OK。这就会用到127.0.0.1。因此如果不配置的话会影响。