事件背景

rman清理脚本异常.导致磁盘空间爆满(一个环境变量没有设置正确)

释放磁盘空间,进行rman清理

之后,领导把实例重启,但是ams实例没有关闭

环境

系统 : AIX

数据库: Oracle10g

问题处理

下午,客户反应页面无法登陆.

事发第一时间,检查集群

1.进行集群检查

#crs_stat -t

CRS-0184: Cannot communicate with the CRS daemon.

2.尝试启动(root)

#crsctl start crs

CRS-4640: Oracle High Availability Services is already active

CRS-4000: Command Start failed, or completed with errors.

根据提示Services is already active

3.检查crs服务

#crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4535: Cannot communicate with Cluster Ready Services

CRS-4530: Communications failure contacting Cluster Synchronization Services demon

CRS-4534: Cannot communicate with Event Manager‘

4.看似没问题,进行快速检查vip是否正常

查看本地配置文件

#cat /etc/hosts

10.205.128.21      ORA1

10.205.128.22      ORA2

100.100.100.21      ORA1-priv

100.100.100.22      ORA2-priv

10.205.128.25      ORA1-vip

10.205.128.26      ORA2-vip

10.205.128.27      ORA-scan

#ifconfig -a

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

        inet 10.205.128.22 netmask 0xffffffc0 broadcast 10.205.128.63

         tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1

发现vip不在节点上,仅剩下物理ip

判断问题为VIP进行漂移了

解决方法

1.关闭实例

#su - oracle

$sqlplus / as sysdba

SQL>shu immediate

2.关闭asm

#su - grid

$sqlplus / as sysasm

SQL>shu immediate

3.尝试重启crs

#crsctl disable crs

CRS-4621: Oracle High Availability Services autostart is disabled.

#crsctl stop crs

CRS-2796: The command may not proceed when Cluster Ready Services is not running

CRS-4687: Shutdown command has completed with errors.

CRS-4000: Command Stop failed, or completed with errors.

再次尝试启动,也是报错。

#crsctl enable crs

CRS-4622: Oracle High Availability Services autostart is enabled.

#crsctl start crs

CRS-4640: Oracle High Availability Services is already active

CRS-4000: Command Start failed, or completed with errors.

4.直接kill掉crs

最后看到mos上有一个workaround,可以手动Kill掉那些crs的进程。

#ps -fea | grep ohasd.bin | grep -v grep

    root 30541310        1   1 16:19:17      -  3:33 /u01/grid/11.2.0/bin/ohasd.bin reboot

#ps -fea | grep gipcd.bin | grep -v grep

    grid  2098638        1   1 16:19:40      -  2:29 /u01/grid/11.2.0/bin/gipcd.bin

#ps -fea | grep mdnsd.bin | grep -v grep

    grid 31916408        1   0 16:19:36      -  0:01 /u01/grid/11.2.0/bin/mdnsd.bin

#ps -fea | grep gpnpd.bin | grep -v grep

    grid  5177660        1   0 16:19:38      -  0:27 /u01/grid/11.2.0/bin/gpnpd.bin

#ps -fea | grep evmd.bin | grep -v grep

    grid  3342370        1   0 16:33:17      -  1:28 /u01/grid/11.2.0/bin/evmd.bin

#ps -fea | grep crsd.bin | grep -v grep

    root  3408064        1   0 16:33:46      -  4:17 /u01/grid/11.2.0/bin/crsd.bin reboot

#kill -9  30541310 2098638 31916408 5177660 3342370 3408064

5.启动 crs

#crsctl start cluster

CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'ORA2'

CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'ora102' succeeded

CRS-2679: Attempting to clean 'ora.asm' on 'ORA2'

CRS-2681: Clean of 'ora.asm' on 'ora102' succeeded

CRS-2672: Attempting to start 'ora.asm' on 'ORA2'

CRS-2676: Start of 'ora.asm' on 'ora102' succeeded

CRS-2672: Attempting to start 'ora.crsd' on 'ORA2'

CRS-2676: Start of 'ora.crsd' on 'ora102' succeeded

如果还是有问题那么清理节点2的配置信息,然后重新运行root.sh

#/u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force

#/u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -deconfig -force

#/u01/app/11.2.0/grid/root.sh

然后检查状态是否正常,如果不正常,再次重启crs,就好了。

6.检查CRS状态

# crs_stat -t

Name           Type           Target    State     Host        

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

ora....DATA.dg ora....up.type ONLINE    ONLINE    ORA1     

ora....LRDG.dg ora....up.type ONLINE    ONLINE    ORA1     

ora.GRIDDG.dg  ora....up.type ONLINE    ONLINE    ORA1     

ora....ER.lsnr ora....er.type ONLINE    ONLINE    ORA1     

ora....N1.lsnr ora....er.type ONLINE    ONLINE    ORA1     

ora....DB.lsnr ora....er.type ONLINE    ONLINE    ORA1     

ora....DATA.dg ora....up.type ONLINE    ONLINE    ORA1     

ora....LRDG.dg ora....up.type ONLINE    ONLINE    ORA1     

ora.asm        ora.asm.type   ONLINE    ONLINE    ORA1     

ora.cvu        ora.cvu.type   ONLINE    ONLINE    ORA1     

ora.epm.db     ora....se.type ONLINE    ONLINE    ORA2     

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               

ora....network ora....rk.type ONLINE    ONLINE    ORA1     

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    ORA1     

ora.ons        ora.ons.type   ONLINE    ONLINE    ORA1     

ora....ry.acfs ora....fs.type ONLINE    ONLINE    ORA1     

ora.scan1.vip  ora....ip.type ONLINE    ONLINE    ORA1     

ora....SM1.asm application    ONLINE    ONLINE    ORA1     

ora....S1.lsnr application    ONLINE    ONLINE    ORA1     

ora....S1.lsnr application    ONLINE    ONLINE    ORA1     

ora....ss1.gsd application    OFFLINE   OFFLINE               

ora....ss1.ons application    ONLINE    ONLINE    ORA1     

ora....ss1.vip ora....t1.type ONLINE    ONLINE    ORA1     

ora....SM2.asm application    ONLINE    ONLINE    ORA2     

ora....S2.lsnr application    ONLINE    ONLINE    ORA2     

ora....S2.lsnr application    ONLINE    ONLINE    ORA2     

ora....ss2.gsd application    OFFLINE   OFFLINE               

ora....ss2.ons application    ONLINE    ONLINE    ORA2     

ora....ss2.vip ora....t1.type ONLINE    ONLINE    ORA2     

ora....ssdb.db ora....se.type ONLINE    ONLINE    ORA1     

ora....db1.svc ora....ce.type ONLINE    ONLINE    ORA1     

ora....db2.svc ora....ce.type ONLINE    ONLINE    ORA1

OK.没问题了

7.启动asm

#su - oracle

$sqlplus / as sysdba

SQL>startup

8.启动实例

#su - oracle

$sqlplus / as sysdba

SQL>startup

检查结果

1.检查ip,发现vip已经回来

#ifconfig -a

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

        inet 10.205.128.22 netmask 0xffffffc0 broadcast 10.205.128.63

        inet 10.205.128.26 netmask 0xffffffc0 broadcast 10.205.128.63

         tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1

2.检查ocr状态

# ocrcheck

Status of Oracle Cluster Registry is as follows :

         Version                  :          3

         Total space (kbytes)     :     262120

         Used space (kbytes)      :       3524

         Available space (kbytes) :     258596

         ID                       :  450202465

         Device/File Name         :    +GRIDDG

                                    Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

3.检查crs状态

# crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

4.所有Oracle实例(数据库状态)

#srvctl status database -dsdd

Instance sdd1 is running on node ORA1

Instance sdd2 is running on node ORA2

5.节点应用程序状态

#srvctl status nodeapps

VIP ORA1-vip is enabled

VIP ORA1-vip is running on node: ORA1

VIP ORA2-vip is enabled

VIP ORA2-vip is running on node: ORA2

Network is enabled

Network is running on node: ORA1

Network is running on node: ORA2

GSD is disabled

GSD is not running on node: ORA1

GSD is not running on node: ORA2

ONS is enabled

ONS daemon is running on node: ORA1

ONS daemon is running on node: ORA2

6.ASM状态以及ASM配置

#srvctl status asm -a

ASM is running on rac2,rac1

7.TNS监听器状态以及配置

#srvctl config listener -a

Name: LISTENER

Network: 1, Owner: grid

Home:

/u01/app/grid/11.2.0 on node(s) ORA2,ORA1

End points: TCP:1521

OK问题处理完毕,客户登录成功

附上正确重启Oracle RAC服务步骤

oracle rac服务器需要重启的时候,oracle相关资源关闭的的流程:

1)关闭实例

su - oracle

sqlplus / as sysdba

shu immediate

2)关闭asm实例

su - grid

sqlplus / as sysasm

shu immediate

3)关闭crs

crsctl stop cluster -all (root执行)

4)启动crs

crsctl start cluster -all (root执行)

5)启动asm

su - oracle

sqlplus / as sysdba

startup

6)启动实例

su - oracle

sqlplus / as sysdba

startup

总结

参考: http://blog.itpub.net/29654823/viewspace-2148123/

简单概述CRS架构 :

1)Cluster Synchronization Services (CSS)—管理群集配置,谁是成员、谁来、谁走,通知成员。

2)Cluster Ready Services (CRS)—管理群集内高可用操作的主要程序,crs管理的全部内容都被看作资源,包括数据库、实例、服务、监听器、vip地址、应用进程等。Crs进程根据OCR中的配置信息管理群集资源,包括启动、停止、监视和容错操作。当某个资源的状态发生改变时,crs进程产生事件。RAC安装完成后,crs进程监视各种资源,发生异常时自动重启该资源,一般来说重启5次,如不成功不再尝试。

3)Event Management (EVM)—后台进程发布由crs生成的事件。

4)Oracle Notification Service (ONS)—通信FAN消息的发布和订阅服务。

5)RACG—扩展集群支持oracle特定的需求和复杂的资源。

6)Process Monitor Daemon (OPROCD)—锁定在内存中监视集群运行并执行I/O隔离。利用 hangchecker,监测、停止、再监测、再停止,如果醒来时时间不对则重启该节点。

注意:

CRS进程栈默认随着操作系统的启动而自启动,有时出于维护目的需要关闭这个特性,可以用root用户执行下面命令。

crsctl disable crs

crsctl enable crs

这个命令实际是修改了/etc/oracle/scls_scr/raw/root/crsstart这个文件里的内容

CRS由CRS,CSS,EVM三个服务组成,每个服务又是由一系列module组成,crsctl允许对每个module进行跟踪,并把跟踪内容记录到日志中。

crsctl lsmodules css

crsctl lsmodules evm

跟踪CSSD模块,需要root用户执行:

crsctl debug log css "CSSD:1"

Configuration parameter trace is now set to 1.

Set CRSD Debug Module: CSSD Level: 1

查看跟踪日志

pwd

/u01/app/oracle/product/crs/log/rac1/cssd

more ocssd.log

Oracle Cluster Registry (OCR):

管理Oracle集群软件和Oracle RAC数据库配置信息;类似于windows的注册表;这也包含Oracle Local Registry (OLR),存在于集群的每个节点上,管理Oracle每个节点的集群配置信息。Oracle Clusterware 把整个集群的配置信息放在共享存储上,这个存储就是OCR Disk.在整个集群中,只有一个节点能对OCR Disk进行读写操作,这个节点叫作Master Node,所有节点都会在内存中保留一份OCR的拷贝,同时有一个OCR Process从这个内存中读取内容。OCR内容发生改变时,由Master Node的OCR Process负责同步到其他节点的OCR Process。

Ocrcheck命令用于检查OCR内容的一致性,命令执行过程会在$CRS_HOME\log\nodename\client目录下产生ocrcheck_pid.log日志文件。 这个命令不需要参数。

ocrcheck

oracle rac集群,是一个整体,需要同时启动和关闭,如果你只启动其中一个,那么另一个节点的vip就会飘到这个节点,voting disk投票把这个节点踢出集群,也就是脑裂。解决脑裂问题的基本思路就是:首先重启被踢出集群的节点的crs(crsctl stop crs ,然后crsctl start crs ),如果不行,那就清理节点2的配置信息,然后重新运行root.sh,然后执行crsctlstart crs开启crs即可。

参考: http://blog.itpub.net/29654823/viewspace-2148123/

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CRS-0184 Cannot communicate with the CRS daemon的更多相关文章

  1. 記錄一次CRS-0184: Cannot communicate with the CRS daemon的解決

    1. 描述: 使用crs_stat –t 命令查看rac服務,直接報CRS-0184: Cannot communicate with the CRS daemon.錯誤 但是奇怪的是我們的DB是沒有 ...

  2. oralce11g RAC 启动后 CRS-0184: Cannot communicate with the CRS daemon.

    很奇怪的一个问题! ORACLE数据库服务器,系统启动之后,查看集群状态,发现CRS实例不可用,然后网上查找资料: 隔了几分钟之后,再次查询相关集群服务状态,发现正常了!!! 暂时得出的结论:操作系统 ...

  3. 记一次oracle crs无法重启事故

    今天在修改了数据库参数后,关闭数据库及crs,然后重新启动了服务器,服务器启动完成之后,发现数据库无法启动,过程如下: step1:重启数据库 $ su - grid $ srvctl stop da ...

  4. Oracle 11gR2光钎链路切换crs服务发生crash

    Oracle 11gR2光钎链路切换crs服务发生crash 背景: 我们将Oracle 11gR2(11.2.0.4)在RedHat EnterPrise 5.8上通过RDAC完毕的多路径链路冗余. ...

  5. 左右RAC CRS 自己主动启动

    左右CRS自己主动重新启动实验 一.检验ASM [root@rac1 ~]# /etc/init.d/oracleasm status Checking if ASM is loaded: yes C ...

  6. 【简单的案例分享,停机10分钟】10204升级CRS&amp;DB的PSU至102044

    发现一个现象,AIX5.3+HACMP+10.2.0.4RAC+RAW的环境,执行五六年的数据库crsd.log都会报下面错误: ----------------------------------- ...

  7. ModSecurity CRS笔记[转]

    转自:http://danqingdani.blog.163.com/blog/static/186094195201472304841643/ ModSecurity的规则因为奇怪的正则(可读性差? ...

  8. ORACLE RAC中一个实例不能随crs自动启动的解决

    现象:在两个节点上做CRS的重启,这个实例都不能随CRS的启动而启动.CRS启动后做crs_start -all可以把没启动的资源起来,而且无报错. 分析:去crsd.log中找原因,发现CRS根本就 ...

  9. 管理集群中的 crs 管理员

     管理集群中的 crs 管理员 oracle Managing CRS Administrators in the Cluster Use the following commands to ma ...

随机推荐

  1. [vijos1460&Metocode P223]拉力赛<LCA>

    题目链接:https://vijos.org/p/1460 http://oj.fjaxyz.com:3389/problem.php?id=223 我不禁开始怀疑,这,真的是最近公共祖先的题吗,我是 ...

  2. IDEA+Mybatis-generator代码生成工具

    IDEA+Mybatis-generator代码生成工具(小白也能用) 插件介绍 MyBatis Generator简称MBG,是MyBatis 官方出的代码生成器.MBG能够自动生成实体类.Mapp ...

  3. docker安装Elasticsearch7.6集群并设置密码

    docker安装Elasticsearch7.6集群并设置密码 Elasticsearch从6.8开始, 允许免费用户使用X-Pack的安全功能, 以前安装es都是裸奔.接下来记录配置安全认证的方法. ...

  4. 直播回顾 | IOT、AI、云计算等融合技术推进制造业产业转型(二)

    3月31日,BoCloud博云.京东智联云.海尔集团联手,以“制造”到“智造”为主题,进行了IT赋能企业数字化转型实践分享. 博云售前解决方案架构师尹贺杰,京东云与AI企业云业务部高级业务技术经理吴世 ...

  5. stm32:extern关键字

    参考:http://c.biancheng.net/view/404.html 1.在一个文件中: #include <stdio.h> int max(int x,int y); int ...

  6. 字符串操作 — Google Guava

    前言 Java 里字符串表示字符的不可变序列,创建后就不能更改.在我们日常的工作中,字符串的使用非常频繁,熟练的对其操作可以极大的提升我们的工作效率,今天要介绍的主角是 Google 开源的一个核心 ...

  7. 数据结构和算法(Golang实现)(25)排序算法-快速排序

    快速排序 快速排序是一种分治策略的排序算法,是由英国计算机科学家Tony Hoare发明的, 该算法被发布在1961年的Communications of the ACM 国际计算机学会月刊. 注:A ...

  8. excel完成数据库数据的批量插入

    业务场景: 开发过程中往往会遇到这样情况就是产品直接给我们一堆数据,让咱们直接导入到后台数据库中,这时候咱们只需要在excel表中进行直接操作即可,如图所示(以河北省的编号为例): 而对应的数据表为: ...

  9. FreeRTOS操作系统工程建立和操作系统的概念

    一.建立工程步骤如下: 二.详细步骤流程如下: 1.新建工程文件夹,然后在里面建立如下几个文件: 2.使用keil5建立工程: a.建立工程: b.添加内核文件: 3.建立文件分组: 4.创建main ...

  10. Python递归爬取头条用户的所有文章、视频

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...