LINUX登錄oracle用戶,通過lsnrctl start命令啟動數據庫時,報錯如下:
“ [oracle@localhost ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-APR-2015
07:38:11Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr:
please wait…TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
Linux Error: 29: Illegal seek“`
原因:
/etc/hosts內有兩個localhost的主機名,監聽沖突。
解決方法:
1、修改其中一個主機名,比如oracle,執行以下命令。
hostname oracle
2、在/etc/hosts內修改一個主機名為oracle。
[root@oracle etc]# cat /etc/hosts
127.0.0.1 localhost
::1 oracle
3、在/etc/sysconfig/network修改主機名為oracle。
[root@oracle etc]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oracle
4、重新啟動,在oracle用戶下執行lsnrctl start。
[oracle@oracle ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-APR-2015 07:46:27
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /home/oracle/app/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 29-APR-2015 07:46:29
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /home/oracle/app/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
The listener supports no services
The command completed successfully