Oracle 隐含参数_asm_hbeatiowait引起的ASM磁盘组DISMOUNT
-
(1)恒生电子资管云HOMS系统B区2015年3月6日上午故障现象:【数据库服务器无法连接】
-
(2)恒生电子资管云HOMS系统B区2015年3月9日下午故障现象:【数据库服务器无法连接】
-
图1-1 事故现场截图
-
根据应用层返回错误结合ASM日志和告警日志文件信息分析。错误出现原因分析如下图。
图 1-2 应用层返回错误原因
-
采取措施1:查看集群资源状态:crsctl status res -t
系统返回1:集群资源状态无法获取,错误监听不存在【TNS-12541:TNS:NO LISTENER】
采取措施2:检查OCR以及Voting DISK状态:ocr check
系统返回2:OCR与voting DISK状态无法获取,错误监听不存在【TNS-12541:TNS:NO LISTENER】初步判断:监听程序已经失败。
验证措施1:srvctl status listener
返回错误1:监听程序不存在。=>确定监听已经失败。查看监听进程:ps -ef|grep lsnr
验证结果:监听框架已经启动,监听进程存在。
进一步判断:监听没有工作,框架内任务失败。查看集群件跟踪文件:
/u01/app/grid/oradiag_grid/diag/clients/user_grid/host_1874443374_80/trace
发现DATA磁盘组失败,导致监听程序无法访问OCR,引起监听资源异常。具体如下:图 1-3 0309下午库监听初次失败时间
图 1-4 trace文件显示ASM磁盘组DATA dismount之后的connect failed -
诊断:存储OCR和voting DISK的ASM 磁盘组DATA 发生故障,导致DATA磁盘组OFFLINE,由此引发监听无法工作,因为RAC监听作为资源注册到了OCR,此时OCR不可访问。
图 1-5 错误后RAC系统行为
诊断:Oracle 集群件不断尝试重新mount DATA,但是可能因为文件句柄等内部错误而失败。DATA磁盘组内磁盘文件头可能发生逻辑损坏。没有理由冗余的2个镜像都发生读取失败(两个磁盘都坏掉的几率还是比较小的),如下图由ASM日志发现DATA两个镜像MIRROR都发生了读取失败: - 该日志告诉我们在两个镜像数据文件的偏移量为724992的位置发生错误,I/O请求失败,可能发生数据块的物理损坏或者逻辑错误。可以发现,网络传输的请求能够准确到达内核层面,但是内部或I/O处理出现错误。重要的是故障发生时刻的进程状态与磁盘文件头状态信息,是否发生不一致导致磁盘组DISMOUNT。
-
仔细查看ASM日志,发现该问题在2014年就已经出现过DATA磁盘组的dismount问题,具体截图如下所示:(其实该问题的征兆早就已经出现)
-
图 1-7 查看ASM历史日志
这是什么情况???貌似这个时间就已经有ASM磁盘组DATA的问题了。
-
图 1-8 DATA错误一例
图 1-9 ASM磁盘组历史故障记录一例
图 1-10 ASM磁盘组历史故障记录一例
图 1-11 ASM磁盘组历史故障记录一例
相关推荐
Oracle_ASM_详解 Oracle_ASM_详解
创建oracle10g_asm数据库step_by_step[归纳].pdf
Oracle_lhr_ASM的安装.pdfOracle_lhr_ASM的安装.pdfOracle_lhr_ASM的安装.pdfOracle_lhr_ASM的安装.pdf
OracleLinux6.5下安装Oracle11.2.0.3_ASM 生产环境安装过程,图文并茂。
oracle_asm_管理_中文
RAC_Oracle11g_asm_grid_openfile搭建集群环境
oracle_rac 环境搭建所需的asm包
oracle_11G_asm方式安装oracle_RAC,磁盘共享方式为ASM,操作系统版本RED HAT 6.2,适合初学安装oracle 11g rac的朋友
oracle10g下asm管理中文教程,识别自动存储管理ASM的功能。为ASM和数据库实例设置初始化参数文件等,讲的比较详细。
Oracle_Linux_6.1_+_Oracle_11.2.0.1_RAC_+_ASM安装过程
grid infrastructure 安装,oracle11gr2安装,asm磁盘管理方式, standalone方式的使用,aix操作系统的补丁升级。
在 Visual C++ 中使用内联汇编 VC内联ASM汇编 混合使用C和汇编代码的程序(用__asm写c函数)
oracle 11G rac_asm搭建实测,由于是虚拟机搭建,所以有诸多不足,请谅解
OracleLinux6.5下安装Oracle11gRAC_Multipath_ASM20140606发行版
本文主要利用openfile实现共享磁盘,利用asm进行磁盘管理,利用grid进行集群管理,利用oracle实现数据库管理
1) 修复 BASE64编码_ASM() 计算 申请长度 的mulx指令,在老CPU上出现异常问题(感谢 sometimes 的反馈)。1.3更新。 1) 添加 BASE16编码解码 (字节集到十六进制、十六进制到字节集),自动选择版本:AVX2、80386...
Oracle RAC系列之_10gR2 RAC(ASM) Data Guard容灾配置手册_mfkqwyc86.pdf
c语言与汇编混合编程,用_asm关键字可以实现此功能,在c++编程环境里一样适用,主要用于嵌入式开发。