Oracle RAC Database 11.1.0.6监听故障案例

晚上接到电话,客户的一套核心Oracle RAC数据库连接不上,连接时报无监听程序,客户的Oracle RAC版本为11.1.0.6,平台为AIX 6.1.05,使用了IBM HACMP 5.5.0.8。

  当我远程过去的时候,发现节点2已经没有任何oracle用户的进程,且concurrent的vg没有激活,HACMP的服务也offline。

  另一个节点Oracle的实例是正常的,且有部分服务器进程依然在工作,但是本地监听器出现了故障,导致新的连接无法连接到实例,通过crs_stat -t看到两个实例的监听也都是OFFLINE状态。

  在节点上并没有发现有LISTENER进程,且手动杀掉了所有的服务器进程,在oracle用户下启动监听时收到以下的报错:


$ lsnrctl start listener_cdfy740a

LSNRCTL for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production on 20-NOV-2014 20:09:09

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

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

TNSLSNR for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production

System parameter file is /oracle/app/oracle/product/11.1.0/db_1/network/admin/listener.ora

Log messages written to /oracle/app/oracle/diag/tnslsnr/cdfy740a/listener_cdfy740a/alert/log.xml

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.107.64.1)(PORT=1521)))

Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.107.64.1)(PORT=1521)(IP=FIRST)))

TNS-12542: TNS:address already in use

TNS-12560: TNS:protocol adapter error

TNS-00512: Address already in use

IBM/AIX RISC System/6000 Error: 67: Address already in use

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

  10.107.64.1是该节点的vip地址,下面是RAC环境的hosts配置:


10.107.64.1     vip1

10.107.64.2     vip2

10.107.64.3     cdfy740a

10.107.64.4     cdfy740b

172.201.201.1   prv1

172.201.201.2   prv2

  手动停掉该节点的nodeapps服务:

  cdfy740a@root[/oracle/app/11.1.0/crs/bin]./srvctl stop nodeapps -n cdfy740a

  成功停止后,VIP在主机层面已经消失:


cdfy740a@root[/oracle/app/11.1.0/crs/bin]ifconfig -a | more

en0: flags=1e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>

inet 172.200.200.1 netmask 0xffffff00 broadcast 172.200.200.255

tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

en1: flags=1e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>

inet 172.201.201.1 netmask 0xffffff00 broadcast 172.201.201.255

tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

en4: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>

inet 10.107.64.3 netmask 0xffffff00 broadcast 10.107.64.255

tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

lo0: flags=e08084b,c0<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,LARGESEND,CHAIN>

inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

inet6 ::1%1/0

tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

 再次启动节点nodeapps服务:


cdfy740a@root[/oracle/app/11.1.0/crs/bin]./srvctl start nodeapps -n cdfy740a

CRS-1006: No more members to consider

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:LSNRCTL for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production on 20-NOV-2014 20:13:07

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Copyright (c) 1991, 2007, Oracle.  All rights reserved.

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Starting /oracle/app/oracle/product/11.1.0/db_1/bin/tnslsnr: please wait...

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:TNSLSNR for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:System parameter file is /oracle/app/oracle/product/11.1.0/db_1/network/admin/listener.ora

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Log messages written to /oracle/app/oracle/diag/tnslsnr/cdfy740a/listener_cdfy740a/alert/log.xml

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.107.64.1)(PORT=1521)))

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.107.64.1)(PORT=1521)(IP=FIRST)))

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:TNS-12542: TNS:address already in use

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr: TNS-12560: TNS:protocol adapter error

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:  TNS-00512: Address already in use

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:   IBM/AIX RISC System/6000 Error: 67: Address already in use

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Listener failed to start. See the error message(s) above...

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:LSNRCTL for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production on 20-NOV-2014 20:13:08

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Copyright (c) 1991, 2007, Oracle.  All rights reserved.

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT=1521)))

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:TNS-12541: TNS:no listener

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr: TNS-12560: TNS:protocol adapter error

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:  TNS-00511: No listener

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:   IBM/AIX RISC System/6000 Error: 79: Connection refused

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.107.64.1)(PORT=1521)(IP=FIRST)))

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:TNS-12541: TNS:no listener

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr: TNS-12560: TNS:protocol adapter error

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:  TNS-00511: No listener

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:   IBM/AIX RISC System/6000 Error: 79: Connection refused

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.107.64.3)(PORT=1521)(IP=FIRST)))

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:TNS-12541: TNS:no listener

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr: TNS-12560: TNS:protocol adapter error

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:  TNS-00511: No listener

cdfy740a:ora.cdfy740a.LISTENER_CDFY740A.lsnr:   IBM/AIX RISC System/6000 Error: 79: Connection refused

CRS-0215: Could not start resource 'ora.cdfy740a.LISTENER_CDFY740A.lsnr'.

  之前使用lsnrctl status listener_cdfy740a查看监听器状态时也收到Connection refused的错误。

  查看主机层面已经成功绑定了VIP地址:


cdfy740a@root[/oracle/app/11.1.0/crs/bin]ifconfig -a | more

en0: flags=1e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>

inet 172.200.200.1 netmask 0xffffff00 broadcast 172.200.200.255

tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

en1: flags=1e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>

inet 172.201.201.1 netmask 0xffffff00 broadcast 172.201.201.255

tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

en4: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN>

inet 10.107.64.3 netmask 0xffffff00 broadcast 10.107.64.255

inet 10.107.64.1 netmask 0xffffff00 broadcast 10.107.64.255

tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

lo0: flags=e08084b,c0<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,LARGESEND,CHAIN>

inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

inet6 ::1%1/0

tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

  再次尝试手动启动本地监听器:


cdfy740a@root[/]su - oracle

$ lsnrctl start listener_cdfy740a

LSNRCTL for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production on 20-NOV-2014 20:18:37

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

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

TNSLSNR for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production

System parameter file is /oracle/app/oracle/product/11.1.0/db_1/network/admin/listener.ora

Log messages written to /oracle/app/oracle/diag/tnslsnr/cdfy740a/listener_cdfy740a/alert/log.xml

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.107.64.1)(PORT=1521)))

Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.107.64.1)(PORT=1521)(IP=FIRST)))

TNS-12542: TNS:address already in use

TNS-12560: TNS:protocol adapter error

TNS-00512: Address already in use

IBM/AIX RISC System/6000 Error: 67: Address already in use

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

  启动依然失败。

  检查监听器配置文件:


$ cat listener.ora

# listener.ora.cdfy740a Network Configuration File: /oracle/app/oracle/product/11.1.0/db_1/network/admin/listener.ora.cdfy740a

# Generated by Oracle configuration tools.

LISTENER_CDFY740A =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = vip1)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.107.64.1)(PORT = 1521)(IP = FIRST))

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.107.64.3)(PORT = 1521)(IP = FIRST))

)

)

  在监听配置文件中,vip1和10.107.64.1是两个重复的地址,手动将10.107.64.1所在行去掉之后,监听即可正常的启动。

  之后恢复节点2的HACMP服务,Oracle RAC随即恢复正常。

  另外,还发现客户的监听日志已经被填得很大,大概在1.6GB左右,过大的监听日志文件也会导致监听器不稳定,这里将两个节点的监听日志进行了重命名操作。

  《10g RAC监听器配置文件listener.ora中的IP=FIRST》:http://blog.itpub.net/23135684/viewspace-715967/

  《IP=FIRST作用说明》:http://www.xifenfei.com/2713.html

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-09 15:05:49

Oracle RAC Database 11.1.0.6监听故障案例的相关文章

ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

        不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数local_listener来达到目的.除此之外,还可以对实例进行远程注册,以达到负载均衡的目的.这是通过一个参数remote_listener来实现.   有关Oracle 网络配置相关基础以及概念性的问题请参考:      配置ORACLE 客户端连接到数据库   配置非默认端口

Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

    本文主要描述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g开始,Oracle官方网站不再提供其Patch的下载链接,需要使用Meatlink账户才可以进行下载.童鞋们不要着急,没有Metalink账户的也可以自己百度一下,网上有很多下载链接,迅雷就可以搞定了.Oracle 11.2.0.3整合为7个zip压缩包,如果仅仅是安装Oracle Database,下载1至2.zip包即可.下面是其安装步骤.   一.准备安装环境1

【Oracle】Oracle 11gR2发布11.2.0.3 Patchset补丁集

11.2.0.3 Patch Set - Availability and Known Issues [ID 1348336.1]   修改时间 07-MAR-2012     类型 README     状态 PUBLISHED     Known Issues specific to the 11.2.0.3 Patch Set Please note that 11.2 Patch Sets 11.2.0.2 and higher are supplied as full releases

Linux 静默安装CentOS 6.6系统上安装Oracle 11gR2(11.2.0.4)

本文档是Oracle Database 11.2.0.4 for CentOS 6.6 Server(x86_64平台)的静默安装指南. 所有操作无需使用图形界面. 静默安装能减少安装出错的可能性, 也能大大加快安装速度. # 后跟命令表示以操作系统下root用户操作; $ 后跟命令表示以操作系统下oracle用户操作;  1.0 安装前检查 内存大小要求  Oracle 11.2 建议内存是在2GB或者更多. 运行以下命令: #  grep MemTotal /proc/meminfo Mem

【RAC]升级RAC from 11.2.0.1 to 11.2.0.2 on Linux x86_64

执行到最后遇到一个错误,信息如下: [INS-20802] Oracle Cluster Verification实用程序失败. 原因-插件的执行方法失败 操作-参考日志或与Oracle技术支持联系. 日志文件位置:/opt/rac/oraInventory/logs/installActions2011-09-07_02-42-29PM.log 查看文件内容: [root@rac1 logs]# tail -100 installActions2011-09-07_02-42-29PM.log

Oracle无法启动1——ORA-12541:TNS:无监听程序

登录oracle,使用sqlplus可以而使用pl/sql developer不行,报ORA-12541:TNS:无监听程序的错,解决办法如下 1.去Net Managet查看监听器,配置的监听字符串是否正确 2.右击我的电脑-->管理-->服务,查看tnslistener是否启动,如果启动尝试重启 说到底还是监听器的问题.有一篇文章谈如何配置监听器http://blog.csdn.net/tianlesoftware/article/details/4861572

IOS环信3.0如何监听未读消息数的改变?

问题描述 3.0为什么没那个回调函数了?求解如何获取 解决方案 监听会话的未读消息这个属性,然后你在监听的方法中实现就行

Oracle 11gR2 RAC Database使用emca配置集群dbconsole

下面的步骤详细的说明了在Oracle 11gR2 RAC Database环境下使用emca配置集群dbconsole遇到的部分问题及解决的方法. 1.数据库环境.Oracle Exadata Machine x4-2Oracle RAC Database 11.2.0.4.6 for Linux x86_64bit[root@dm01db01 ~]# uname -r2.6.39-400.126.1.el5uek 2.使用EMCA创建EM.[root@dm01db01 ~]# su - ora

探索Oracle之数据库升级六 11.2.0.4.3 Upgrade12c(12.1.0.1)

探索Oracle之数据库升级六11.2.0.4.3 Upgrade12c(12.1.0.1) 一.前言:       Oracle 12c发布距今已经一年有余了,其最大亮点是一个可以插拔的数据库(PDB),这是在之前版本没有的:但是如果我们要将以前版本的数据库升级到12c来,那么也应顺其自然的将其变成一个pdb,那么我们的工作不仅包含了数据库软件的升级,同时也包含如何将一个NO-CDB的数据库plug to CDB none. 二.升级要求:   三.升级前准备:          3.1.查看