`

【故障】Oracle 隐含参数_asm_hbeatiowait设置不当引起的ASM磁盘组DISMOUNT

阅读更多

Oracle 隐含参数_asm_hbeatiowait引起的ASM磁盘组DISMOUNT

 

  • 1)恒生电子资管云HOMS系统B201536日上午故障现象:【数据库服务器无法连接】

  • 2)恒生电子资管云HOMS系统B201539日下午故障现象:【数据库服务器无法连接】


  • 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
  • 诊断:存储OCRvoting DISKASM 磁盘组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磁盘组历史故障记录一例

     
  • 大小: 1.9 KB
  • 大小: 52 KB
  • 大小: 22.2 KB
  • 大小: 102.9 KB
  • 大小: 88.2 KB
  • 大小: 41.6 KB
  • 大小: 101.6 KB
  • 大小: 15.9 KB
  • 大小: 19.1 KB
  • 大小: 15.3 KB
  • 大小: 90.3 KB
1
7
分享到:
评论

相关推荐

    oracle_rac_asm

    安装和配置过程中,你需要确保操作系统、网络和硬件满足Oracle RAC的先决条件,然后按照Oracle官方文档的步骤进行操作,包括设置ASM实例、创建磁盘组、挂载数据库文件等。 总之,Oracle RAC和ASM的结合使用可以为...

    创建oracle10g_asm数据库step_by_step[归纳].pdf

    2. 配置ASM实例的初始化参数文件,如`+ASM`监听器和磁盘组设置。 3. 初始化并启动ASM实例。 **创建ASM数据库**: 1. 在ASM实例中创建磁盘组,定义存储策略,如条带化或镜像。 2. 使用Oracle Database Creation ...

    oracle_asm_管理_中文.pdf

    Oracle ASM管理涉及多个方面的细节,包括但不限于:磁盘组的创建和管理、存储资源的配置和调整、故障恢复操作,以及与Oracle数据库实例的协调。在实施和维护ASM存储解决方案时,DBA需要深入了解ASM的这些方面,以...

    OracleLinux6.5下安装Oracle11g_ASM.docx

    Oracle Linux 6.5 下安装 Oracle 11g ASM Oracle Linux 6.5 是一个稳定的操作系统,而 Oracle 11g ASM(Automatic Storage Management)是 Oracle 公司提供的一种高可用性的存储管理解决方案。本文档将指导用户在 ...

    c语言内嵌汇编_asm

    C语言内嵌汇编(_asm)是一种将汇编代码直接插入到C或C++程序中的技术,这对于在特定场合优化性能或者访问硬件寄存器等低级操作时非常有用。这种混合编程方式使得程序员可以在高级语言的便利性和汇编语言的精确控制...

    oracle_asm_管理_中文

    oracle_asm_管理_中文

    oracle11g_asm_for_aix实施方案

    - 使用 `asmca` 工具进行 ASM 磁盘组的创建和管理。 - 配置共享存储,确保所有节点能够访问相同的磁盘组。 4. **安装 Grid Infrastructure 软件**: - 在每台小型机上执行 Grid Infrastructure 的安装。 - 完成...

    RAC_Oracle11g_asm_grid_openfile 搭建集群环境

    RAC_Oracle11g_asm_grid_openfile 搭建集群环境 本文主要讲述如何使用 openfile 实现共享磁盘,使用 asm 进行磁盘管理,使用 grid 进行集群管理,使用 oracle 实现数据库管理。下面将详细介绍相关的知识点: ...

    rfdevice_asm_qm77040_hb_asm_data_ag_77040_

    标题“rfdevice_asm_qm77040_hb_asm_data_ag_77040_”中的“RFdevice_asm”暗示我们正在处理一个与射频(Radio Frequency, RF)设备相关的程序集(Assembly)代码,可能是针对特定硬件平台的低级驱动程序。...

    oracle_11G_asm方式安装oracle_RAC

    oracle_11G_asm方式安装oracle_RAC,磁盘共享方式为ASM,操作系统版本RED HAT 6.2,适合初学安装oracle 11g rac的朋友

    在 Visual C++ 中使用内联汇编,VC内联ASM汇编,混合使用C和汇编代码的程序(用__asm写c函数)

    在Visual C++中,内联汇编通过`__asm`关键字来实现。这种混合编程方式可以将汇编代码无缝集成到C/C++函数中,使得开发者能够精确地控制处理器的操作,例如进行位操作、优化循环或者直接访问硬件寄存器。 内联汇编的...

    Oracle12c 实战ASM磁盘组管理

    这些属性可以在创建或修改磁盘组时进行设置,并通过`v$asm_attribute`视图或`asmcmd lsattr`命令进行查看。下面是一些重要的磁盘组属性及其功能: - **access_control.enabled**:决定是否启用Oracle ASM文件访问...

    网盘资料\oracle相关书籍\Oracle RAC系列之_10gR2 RAC(ASM) Data Guard容灾配置手册

    ASM可以自动管理磁盘组,包括磁盘的添加、删除以及故障恢复。在RAC环境中,ASM能够透明地为每个节点分配和管理存储资源,确保数据的一致性和高可用性。 Data Guard是Oracle的数据保护技术,它通过创建和维护一个或...

    RAC_Oracle11g_asm_grid_openfile搭建集群环境.docx

    ### RAC_Oracle11g_asm_grid_openfile搭建集群环境 #### 一、Oracle RAC 群集基础知识 在构建 Oracle RAC (Real Application Clusters) 集群环境中,理解基本概念至关重要。Oracle RAC 是一种多实例、多节点数据库...

    CPU_ASM.rar___asm 获取温度

    本文将详细探讨如何通过嵌入式汇编(__asm)在C语言中实现这一功能,以及涉及的相关知识点。 首先,我们要了解什么是嵌入式汇编。在高级编程语言如C或C++中,我们通常使用高级抽象来编写代码,但有时为了实现某些...

    oracle 11G rac_asm搭建实测

    ### Oracle 11g RAC_ASM 搭建详解 #### 一、环境配置与准备 在进行Oracle 11g RAC_ASM的实际部署前,首先需要准备好合适的硬件及软件环境。 **1.1 主机配置** - **RAC1.vm 和 Rac2.vm** - 公共IP (Public IP): ...

    C-include-ASM.zip_asm中include asm_c语言中嵌套asm

    在标题提到的"C-include-ASM.zip_asm中include_asm_c语言中嵌套asm",我们主要讨论的是如何在C程序中使用汇编代码,并且可能涉及到如何在汇编代码中包含其他汇编模块。 首先,让我们了解一下C语言嵌套汇编的基本...

Global site tag (gtag.js) - Google Analytics