系统突然断电重启导致rac节点无法启动,crs-4000错误

公司rac集群为双节点oracle11g的rac,操作系统为AIX6.1,突然断电重启了,再次查看集群状态,发现其中一个节点起不来。

经过系统工程师检查,发现重启后存储的光纤网络有十几秒左右的延时,于是手动启动crs,结果保crs-4000问题。以root用户执行./crsctl start crs仍然不行。

怀疑是asm有问题,在grid用户下asmcmd,结果发现连接到空实例,真是

ASM没有启动,于是直接在asmcmd里startup没有启动。但是半天也没有反应,于是进入asm实例:

sqlplus / as sysdba,直接报没有权限连接。难道是因为环境变量,使用export手动指定环境变量,结果和刚才一样,而且sqlplus / as sysasm也是同样的错误。

经过询问,有人建议应该输入用户名密码,应为在监听服务没有启动的情况下,不能直接用空用户名密码登陆。但是用户名密码有点忘了,把密码文件备份删除后,使用orapwd命令重建密码文件。重建后使用sqlplus username/password as sysdba的方式登陆成功,但不能启动。使用sqlplus username/password as sysasm的方式登陆,仍然报权限的错误。

怀疑是不是共享存储权限的问题,但经过查看,发现各共享存储的连接情况和权限与第二个节点的情况一样。又怀疑是不是停电导致存储出现故障,但第二个节点一切运行正常。难道是ocr盘的问题,查找到该节点最近的OCR备份,想要restore一下,发现restore不能执行。

又想到一个办法,在另一个节点通过srvctl命令启动asm,srvctl start asm -n 节点名,但仍然不能启动,报节点1上ora.asm服务没有启动。通过crsctl stat res -t -init 发现,ora.crsd,ora.asm,ora.diskmon,都没有启动。ora.evmd状态为intermediate。

经过查询研究,认为应该是crs没有启动的问题。晕了,crs没有启动是因为asm没有启动,asm启动不起来是因为crs没启动起来!这不是造成死循环了吗?再次用root 用户重启crs,这回是先关闭再重启,结果都报错。想要看一下crs的启动关闭日志,结果发现crsd.log里只有断电之前的日志,根本没有之后的任何记录。

最后通过查找ohasd里的日志(非常大量),终于在其中发现了问题。应该是网络sqlnet.ora文件出来问题,经过排查,发现节点1的sqlnet.ora文件中有一行auth认证,好像多了一个空格,去掉空格,重启crs,crs成功启动。接着启动asm,监听,数据库实例等等也都一切正常。

总结,忙活了很长时间才搞定,更本原因还是对oracle rac的体系架构和启动流程不熟悉。crs启动的时候会通过监听去读取asm中的信息,而监听sqlnet里有一行auth的意思为操作系统认证,让crs通过操作系统认证方式读取asm中信息,如果这个没有,那当然读取不到asm中信息也就无法启动,同时crsd.log里也不会有任何记录,因为oracle应该是通过ipc去读写log文件,但是sqlnet都没有通过也就不能对日志有任何操作。其实也可以把这一行去掉,以免下次造成同样的问题。

以上总结是个人愚见,不代表真实情况,可能是错误的,完全是根据这次事故进行的猜测!哈哈!

时间: 2024-10-12 12:24:54

系统突然断电重启导致rac节点无法启动,crs-4000错误的相关文章

由于丢失OLR导致的节点无法启动

环境:RHEL6.5+11.2.0.4 RAC,两节点 问题描述:故意把OLR删掉,重启后发现GI无法启动 分析过程: 1.确认GI启动到了哪一个阶段 [[email protected] ~]$ crsctl status resource -t -init CRS-4639: Could not contact Oracle High Availability Services CRS-4000: Command Status failed, or completed with errors

记一次因网卡心跳故障引发RAC节点重启故障分析

数据库与CRS版本:10.2.0.4 down机过程分析 序号 节点 时间 动作 日志源 1 二 Jul 4 22:48:15 XXdb2 kernel: NETDEV WATCHDOG: eth1: transmit timed out bnx2: fw sync timeout, reset code = 1020015 OS 2 二 Jul 4 22:48:29 -- Jul 4 22:49 CRS-1612:node XXdb1 (1) at 50% heartbeat fatal, e

ORACLE 10G RAC 节点自动重启故障处理

将数据库集群升级到10.2.0.5之后,双节点服务器不断重启,查询oracle oprocd进程日志,信息如下: Jul 03 08:16:34.702 | INF | monitoring started with timeout(1000), margin(500), skewTimeout(125) Jul 03 08:16:34.704 | INF | fatal mode startup, setting process to fatal mode 可以看到看到oprocd进程的时间间

因为diagwait未配置导致RAC脑裂日志记录不完整的分析案例

1.故障现象 一个RAC,CRS版本为10.2.0.4,在第二节点DOWN机后,第一节点也相继DOWN机. 2.CRS日志分析 2.1 二节点日志情况 CRS_LOG [cssd(8796)]CRS-1611:node XXdb1 (1) at 75% heartbeat fatal, eviction in 14.118 seconds 2014-07-04 22:49:38.556 [cssd(8796)]CRS-1611:node XXdb1 (1) at 75% heartbeat fa

oracle断电重启之ORA-00600[4194]

1.问题描述 Oracle服务器断电重启以后无法数据库无法正常连接,使用sqlplus envision/envision连接报错.常见的错误有以下这些: ORA-12518: TNS:listener could not hand off client connection ORA-12560: TNS:protocol adapter error ORA-01034: ORACLE not available ORA-27101: shared memory realm does not e

Windows 系统关机、重启、睡眠、休眠及唤醒消息

今天要查找如何获取系统从睡眠.休眠状态下唤醒的消息,写了个MFC对话框的程序,贴出部分核心代码: //唤醒消息捕获 LRESULT CSystemResumedMessageDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: 在此添加专用代码和/或调用基类 if ((message == WM_POWERBROADCAST) && (wParam == PBT_APMRESUMEAUTOMATIC))

最常见的5个导致 RAC 实例崩溃的问题

最常见的5个导致 RAC 实例崩溃的问题 (文档 ID 1549191.1)   适用于: OracleDatabase - Enterprise Edition - 版本11.2.0.1 和更高版本 本文档所含信息适用于所有平台 用途 本文档的目的是总结可能导致 RAC 实例崩溃的最常见的5种问题以及较早版本(如 10.2.0.5)报告的常见问题. 适用范围 问题 1 到 5 仅适用于 11gR2 RAC.<版本>的问题 仅适用于提及的版本. 详细信息 问题 1:ORA-29770 LMHB

linux下用非root用户重启导致ssh无法连接的问题

问题描述 安装好了centOS服务器,一直用Secure CRT工具通过ssh服务来远程连接linux,很方便的进行各种操作.今天偶然尝试了一下在非root的一般用户下执行重启服务器的命令,发现一般用户是没有权限执行重启的,果断使用sudo命令再次执行,终于重启成功,却发现Secure CRT再也连不上服务器了,郁闷不已,去网上查找各种资料总算有了一点粗浅的认识,记录下来,也让其他的linux beginner们能够少走些弯路吧. 普通用户下执行重启命令: shutdown -r now 或者

hp unix oracle rac节点一磁盘损坏,节点修复

oracle 10g rac用的service guide 作为集群基础的软件相关目录信息:ORA_CRS_HOME=$ORACLE_BASE/10.2/crsOcr信息: /dev/vgdata/rrac_ocr_1 640 root:dba其中一个节点,两块磁盘损坏,从另外一个节点拿了一块硬盘做的mirror,更改主机名,IP后,发现数据库crs无法启动; 一 检查crs日志无任何日志产生,证明其没有对crs发起操作二尝试手动启动crsctl start crs,报错,crsctl chec