第 1章 数据库服务器监听错误
1.1.1数据库监听错误
1.1.1.1 问题及现象
服务器环境为ORACLE11G RAC环境,系统启动后,监听没起来。
[oracle@RAC4~]$lsnrctlstatusLSNRCTLforLinux:Version11.2.0.3.0-Productionon29-JUN-201510:44:45Copyright(c)1991,2011,Oracle.Allrightsreserved.Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))TNS-12541:TNS:nolistenerTNS-12560:TNS:protocoladaptererrorTNS-00511:NolistenerLinuxError:111:Connectionrefused
1.1.1.2 检查思路
当时同事已经检查过CRS、也尝试过使用命令启动监听等步骤。但是启动监听的时候会有以下报错。
[oracle@RAC4~]$lsnrctlstartLSNRCTLforLinux:Version11.2.0.3.0-Productionon29-JUN-201510:51:46Copyright(c)1991,2011,Oracle.Allrightsreserved.Starting/u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr:pleasewait…TNSLSNRforLinux:Version11.2.0.3.0-ProductionLogmessageswrittento/u01/app/oracle/diag/tnslsnr/RAC4/listener/alert/log.xmlErrorlisteningon:(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))TNS-12542:TNS:addressalreadyinuseTNS-12560:TNS:protocoladaptererrorTNS-00512:AddressalreadyinuseLinuxError:98:AddressalreadyinuseListenerfailedtostart.Seetheerrormessage(s)above…
居然说系统已使用,那么理所当然的就去查看1521端口和lsn进程
[root@RAC4 ~]# ps-ef | grep lsn
grid521811 0 10:04? 00:00:11/u01/*/*/bin/tnslsnrLISTENER_SCAN1 -inherit
root101600 100759 0 22:30 pts/0 00:00:00 grep lsn
[root@RAC4 ~]#netstat-anp | grep 1521
tcp00xxx.xxx.xxx.xxx:15210.0.0.0:*LISTEN 52181/tnslsnr (有些内容不便列出)
发现1521端口和/u01/11.2.0/grid/bin/tnslsnrLISTENER_SCAN1-inherit进程存在,所以尝试杀掉此进程
[root@RAC4 ~]#kill -9 52181
-bash: kill:(52181) – No suchprocess
杀掉后发现系统提示没有这个进程,再次查询
[root@RAC4 ~]# ps-ef |grep lsn
grid1041471 0 23:23? 00:00:00/u01/*/*/bin/tnslsnrLISTENER_SCAN1 -inherit
root104379 104353 0 23:28 pts/0 00:00:00 grep lsn
又有了,应该是父进程自动又给他启动了,查看其父进程是init进程。
[grid@RAC4 ~]$pstree 1
init─┬─MBADataMover───MBADataMover───MBADataMover
├─2*[tnslsnr───2*[{tnslsnr}]]
1.1.1.3 出现问题的原因
因为我记得在书上看到过,11G的RAC中SRVCTL可以管理监听,于是尝试使用此命令来启动监听。
1.1.1.4 解决方法
[grid@RAC4 ~]$srvctl start listener -n RAC4
[grid@RAC4~]$ exit
logout
[root@RAC4~]# su -oracle
[oracle@RAC4~]$lsnrctl status;
LSNRCTLfor Linux:Version 11.2.0.3.0 – Production on 01-JUL-2015 11:32:45
Copyright(c) 1991,2011, Oracle. All rightsreserved.
Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUSof theLISTENER
————————
AliasLISTENER
VersionTNSLSNR for Linux: Version11.2.0.3.0 – Production
StartDate01-JUL-2015 10:38:57
Uptime0 days 0 hr. 53 min. 47 sec
TraceLeveloff
SecurityON: Local OS Authentication
SNMPOFF
ListenerParameterFile/u01/11.2.0/grid/network/admin/listener.ora
ListenerLogFile/u01/app/oracle/diag/tnslsnr/RAC4/listener/alert/log.xml
ListeningEndpointsSummary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11.10.110.23)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11.10.110.25)(PORT=1521)))
ServicesSummary…
Service"+ASM"has 1 instance(s).
Instance"+ASM2", status READY, has1 handler(s) for this service…
Service"RAC3"has 1 instance(s).
Instance"RAC32", status READY, has1 handler(s) for this service…
Service"RAC3XDB"has 1 instance(s).
Instance"RAC32", status READY, has1 handler(s) for this service…
Service"RACDB007"has 1 instance(s).
Instance "RACDB0072",status READY, has1 handler(s) for this service…
Service"RACDB007JL_BJ"has 1 instance(s).
Instance"RACDB007JL2", status READY,has 1 handler(s) for this service…
Service"RACDB007JL_BJXDB"has 1 instance(s).
Instance"RACDB007JL2", status READY,has 1 handler(s) for this service…
Service"RACDB007XDB"has 1 instance(s).
Instance"RACDB0072", status READY, has1 handler(s) for this service…
The commandcompleted successfully
1.1.1.5 知识点
经过这次问题的解决,发现oracle 11G的RAC中有很多功能都通过集群命令来控制,而不能单一的通过单机管理的方法来控制集群的某些功能
版权声明:本文为博主原创文章,,未经博主允许不得转载。
世界上那些最容易的事情中,拖延时间最不费力。