linux下配置监听报错12542,TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错...

第 1章   数据库server监听错误

1.1.1数据库监听错误

1.1.1.1 问题及现象

server环境为ORACLE11G RAC环境,系统启动后,监听没起来。

[oracle@RAC4 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 29-JUN-2015 10:44:45

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error

TNS-00511: No listener

Linux Error: 111: Connection refused

1.1.1.2 检查思路

当时同事已经检查过CRS、也尝试过使用命令启动监听等步骤。可是启动监听的时候会有下面报错。

[oracle@RAC4 ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 29-JUN-2015 10:51:46

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

Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.3.0 - Production

Log messages written to /u01/app/oracle/diag/tnslsnr/RAC4/listener/alert/log.xml

Error listening on: (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

TNS-12542: TNS:address already in use

TNS-12560: TNS:protocol adapter error

TNS-00512: Address already in use

Linux Error: 98: Address already in use

Listener failed to start. See the error message(s) above...

竟然说系统已使用,那么理所当然的就去查看1521port和lsn进程

[root@RAC4 ~]# ps-ef | grep lsn

grid     52181     1  0 10:04?        00:00:11/u01/*/*/bin/tnslsnrLISTENER_SCAN1 -inherit

root    101600 100759  0 22:30 pts/0    00:00:00 grep lsn

[root@RAC4 ~]#netstat-anp | grep 1521

tcp       0     0xxx.xxx.xxx.xxx:1521          0.0.0.0:*                  LISTEN      52181/tnslsnr     (有些内容不便列出)

发现1521port和/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

grid    104147     1  0 23:23?        00:00:00/u01/*/*/bin/tnslsnrLISTENER_SCAN1 -inherit

root    104379 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

------------------------

Alias                    LISTENER

Version                  TNSLSNR for Linux: Version11.2.0.3.0 - Production

StartDate               01-JUL-2015 10:38:57

Uptime                   0 days 0 hr. 53 min. 47 sec

TraceLevel              off

Security                 ON: Local OS Authentication

SNMP                     OFF

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中有非常多功能都通过集群命令来控制,而不能单一的通过单机管理的方法来控制集群的某些功能

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com。 Luocs说:这是我一个朋友的一个监听器问题解决案例,这是昨天发生的事情,我一直跟朋友一起Troubleshooting,折腾了半天最后是BUG所致。再次汗颜,Windows平台惹不起啊!好,那么下面开始分享我朋友的案例! 环境描述: OS : Windows Server 2008 64Bit (做了HA) DB : 11.1.0.7.0 排错过程: 前天应用不能访问数据库了 (后台应用能访问数据库),故障发生。 马上登录到服务器里查看监听状态,发现有TNS-12541TNS-12560等错误 Luocs补充:我跟朋友要了错误代码,但他没有保存,就直接贴图。 从计算器的管理 –> 服务选项 –> 检查oracle 监听服务程序,发现该服务已经停止。 手动把监听服务启动,这时候服务状态上显示为已启动,但在CMD窗口执行lsnrctl status的时候依然返回错误信息: C:\>lsnrctl status LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 12-11月-2012 18:1 8:32 Copyright (c) 1991, 2008, Oracle. All rights reserved. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.203.218)(PORT=1521))) TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 64-bit Windows Error: 61: Unknown error 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 过段时间回显非常慢。 然后我检查了下告警日志,大量的ora错误 Fatal NI connect error 12170. VERSION INFORMATION: TNS for 64-bit Windows: Version 11.1.0.7.0 - Production Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production Time: 12-11月-2012 15:23:33 Tracing not turned on. Tns error struct: ns main err code: 12535 TNS-12535: TNS: 操作超时 ns secondary err code: 12560 nt main err code: 0 nt secondary err code: 0 nt OS err code: 0 Client address: ORA-609 : opiodr aborting process unknown ospid (4116_6104) 这时候朋友怀疑是不是监听配置问题,就把原先的监听器删除重建了下,问题依然。 网上有个解决TNS-12535错误的案例,平台和版本都很类似,如下: 1、在 sqlnet.ora文件中 增加如下行: DIAG_ADR_ENABLED = OFF 2、在listener.ora文件中增加如下行: DIAG_ADR_ENABLED_ = OFF 如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF 3、重新启动windows服务管理中的监听程序.先停止,然后再重新启动. 4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!! 但这并不是问题发生原因,在继续排查过程中偶然发现监听日志大小居然为4G。然后把这现象告诉了Luocs。 过了一会儿,Luocs回应是

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值