`
itspace
  • 浏览: 981618 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle RAC之节点故障:File table overflow

阅读更多
某客户数据库于2010年4月26日早晨9点左右发生单节点故障,后台故障表现为一节点数据库(hisdb01)异常终止,进一步导致一节点主机重启。前台故障表现为部分业务不可用。由于没有部署主机性能跟踪脚本,只能根据现场日志描述初步推断为主机资源不足(如文件句柄没有释放)从而导致Oracle实例异常终止。2010年6月7日早晨9点再次发生单节点故障。
后台日志分析
查看发生故障前后各种日志
1、 操作系统日志
引用
Jun  7 09:08:18 hisdb01 cmcld[7603]: Unable to accept a connection: File table overflow
Jun  7 09:08:18 hisdb01 cmclconfd[2878]: Unable to allocate a socket: File table overflow
Jun  7 09:08:18 hisdb01 cmclconfd[2878]: Unable to open /etc/cmcluster/cmclconfig, File table overflow
Jun  7 09:08:18 hisdb01 cmcld[7603]: Unable to accept a connection: File table overflow
Jun  7 09:08:18 hisdb01 cmclconfd[2878]: Unable to resolve local hostname hisdb01 to determine the domain name
Jun  7 09:08:18 hisdb01 cmclconfd[2878]: Unable to allocate a socket: File table overflow
Jun  7 09:08:19 hisdb01 cmcld[7603]: Sending file $SGRUN/frdump.cmcld.8 (167257 bytes) to file assistant daemon.
Jun  7 09:08:18 hisdb01 cmclconfd[2878]: Unable to open /etc/cmcluster/cmclconfig, File table overflow
Jun  7 09:08:19 hisdb01  above message repeats 3 times
Jun  7 09:08:19 hisdb01 cmfileassistd[2894]: Updated file /var/adm/cmcluster/frdump.cmcld.8 (length = 167257).
Jun  7 09:09:00 hisdb01 inetd[1018]: hacl-cfg/tcp: accept: File table overflow
Jun  7 09:09:19 hisdb01 cmcld[7603]: Service cmfileassistd terminated due to an exit(0).
Jun  7 09:12:16 hisdb01 syslog: Unable to open the /etc/utmpx file, to sync the records from file->/usr/sbin/utmpd
Jun  7 09:12:17 hisdb01 vmunix: file: table is full
Jun  7 09:12:17 hisdb01  above message repeats 13576 times
Jun  7 09:12:17 hisdb01 vmunix: file: table is full
Jun  7 09:12:17 hisdb01 syslogd: utmp database: Bad file number
Jun  7 09:12:17 hisdb01 vmunix: file: table is full
Jun  7 09:12:17 hisdb01  above message repeats 10 times
Jun  7 09:12:17 hisdb01 vmunix: file: table is full
Jun  7 09:12:17 hisdb01 vmunix: file: table is full
Jun  7 09:12:17 hisdb01  above message repeats 17 times
Jun  7 09:12:17 hisdb01 vmunix: file: table is full
Jun  7 09:12:17 hisdb01 vmunix: file: table is full


2、crs后台日志:
引用
2010-06-06 21:15:09.225: [  CRSEVT][167223] CAAMonitorHandler :: 0:Could not execute /oracle/app/product/db10g/bin/racgwrap(check) for ora.orcl.orcl1.inst
category: 1234, operation: scls_process_spawn, loc: out_pipe, OS error: 23, other: out of memory

2010-06-06 21:15:09.225: [  CRSAPP][167223] CheckResource error for ora.orcl.orcl1.inst error code = -1
2010-06-06 21:15:19.211: [  CRSEVT][167224] CAAMonitorHandler :: 0:Could not execute /oracle/app/product/crs/bin/racgwrap(check) for ora.hisdb01.ons
category: 1234, operation: scls_process_spawn, loc: out_pipe, OS error: 23, other: out of memory

2010-06-06 21:15:19.211: [  CRSAPP][167224] CheckResource error for ora.hisdb01.ons error code = -1
2010-06-06 21:16:18.020: [  CRSEVT][167225] CAAMonitorHandler :: 0:Could not execute /oracle/app/product/db10g/bin/racgwrap(check) for ora.hisdb01.ASM1.asm
category: 1234, operation: scls_process_spawn, loc: out_pipe, OS error: 23, other: out of memory

2010-06-06 21:16:18.021: [  CRSAPP][167225] CheckResource error for ora.hisdb01.ASM1.asm error code = -1


3、实例orcl1日志:
引用
Sun Jun  6 21:08:42 2010
Errors in file /oracle/app/product/admin/orcl/udump/orcl1_ora_2915.trc:
ORA-00603: Message 603 not found; No message file for product=RDBMS, facility=ORA
ORA-27544: Message 27544 not found; No message file for product=RDBMS, facility=ORA
ORA-27300: Message 27300 not found; No message file for product=RDBMS, facility=ORA; arguments: [socket] [23]
ORA-27301: Message 27301 not found; No message file for product=RDBMS, facility=ORA; arguments: [File table overflow]
ORA-27302: Message 27302 not found; No message file for product=RDBMS, facility=ORA; arguments: [sskgxpcre1]

Sun Jun  6 21:40:52 2010
WARNING: kfk failed to open a disk[/dev/vgdata/rasm_disk5]
Sun Jun  6 21:40:52 2010
Errors in file /oracle/app/product/admin/orcl/udump/orcl1_ora_4809.trc:
ORA-15025: could not open disk '/dev/vgdata/rasm_disk5'
ORA-27041: unable to open file
HPUX-ia64 Error: 23: File table overflow
Additional information: 3
Sun Jun  6 21:40:52 2010
WARNING: kfk failed to open a disk[/dev/vgdata/rasm_disk5]
Sun Jun  6 21:40:52 2010
Errors in file /oracle/app/product/admin/orcl/udump/orcl1_ora_4809.trc:
ORA-15025: could not open disk '/dev/vgdata/rasm_disk5'
ORA-27041: unable to open file
HPUX-ia64 Error: 23: File table overflow
Additional information: 3

4、实例asm1后台日志:
引用
Sun Jun  6 21:14:26 2010
Errors in file /oracle/app/product/admin/+ASM/udump/+asm1_ora_3254.trc:
ORA-00603: Message 603 not found; No message file for product=RDBMS, facility=ORA
ORA-27504: Message 27504 not found; No message file for product=RDBMS, facility=ORA
ORA-27300: Message 27300 not found; No message file for product=RDBMS, facility=ORA; arguments: [ioctl] [23]
ORA-27301: Message 27301 not found; No message file for product=RDBMS, facility=ORA; arguments: [File table overflow]
ORA-27302: Message 27302 not found; No message file for product=RDBMS, facility=ORA; arguments: [skgxpvaddr1]

5、查看故障发生前nfile使用情况
引用
root@hisdb01:/sbin/init.d # kcusage nfile
Tunable                 Usage / Setting     
=============================================
nfile                   51795 / 65536

6、查看imon_orcl1.log
引用
2010-06-17 17:38:17.168: [    RACG][30] [9233][30][ora.orcl.orcl1.inst]: GIMH: GIM-00104: Health check failed to connect to instance.
GIM-00090: OS-dependent operation:mmap failed with status: 12
GIM-00091: OS failure message: Not enough space
GIM-00092: OS failure occurred at: sskgmsmr_13

2010-06-17 17:39:17.178: [    RACG][30] [9233][30][ora.orcl.orcl1.inst]: GIMH: GIM-00104: Health check failed to connect to instance.
GIM-00090: OS-dependent operation:mmap failed with status: 12
GIM-00091: OS failure message: Not enough space
"/oracle/app/product/db10g/log/hisdb01/racg/imon_orcl.log" 158031 lines, 9229057 characters
GIM-00090: OS-dependent operation:mmap failed with status: 12
GIM-00091: OS failure message: Not enough space
GIM-00092: OS failure occurred at: sskgmsmr_13


从以上日志可以看出(红色部分标出),很可能是Oracle受操作系统资源限制引发的故障。进一步查看故障发生前后操作系统资源利用情况。
1、 查看nfile使用情况
引用
root@hisdb02:/ # kcusage  nfile
Tunable                 Usage / Setting     
=============================================
nfile                   12089 / 65536


2、 查看主机内存,CPU资源
引用
zzz ***Sun Jun 6 21:17:20 EAT 2010
         procs           memory                   page                              faults       cpu
    r     b     w      avm    free   re   at    pi   po    fr   de    sr     in     sy    cs  us sy id
    1     0     0  2311458  1996119  172   18     0    0     0    0     0   2620  21313   834   0  1 99
    1     0     0  2311458  1996103  191   21     0    0     0    0     0   2408  16170   709   0  1 99
    1     0     0  2311458  1995210  166   18     0    0     0    0     0   2403  14823   700   1  0 99
zzz ***Sun Jun 6 21:17:30 EAT 2010
         procs           memory                   page                              faults       cpu
    r     b     w      avm    free   re   at    pi   po    fr   de    sr     in     sy    cs  us sy id
    1     0     0  2285994  1996297  172   18     0    0     0    0     0   2620  21313   834   0  1 99
    1     0     0  2285994  1996297  171   20     0    0     0    0     0   2426  11112   710   1  1 98
    1     0     0  2285994  1995404  150   17     0    0     0    0     0   2398  10711   694   0  1 99
zzz ***Sun Jun 6 21:17:40 EAT 2010
         procs           memory                   page                              faults       cpu
    r     b     w      avm    free   re   at    pi   po    fr   de    sr     in     sy    cs  us sy id
    2     0     0  2196419  1996297  172   18     0    0     0    0     0   2620  21313   834   0  1 99
    2     0     0  2196419  1995404  170   19     0    0     0    0     0   2372  10075   698   0  1 99
    2     0     0  2196419  1995386  149   17     0    0     0    0     0   2380  10401   715   0  0 100


3、 查看磁盘io情况
引用
zzz ***Sun Jun 6 21:06:37 EAT 2010

  device    bps     sps    msps 

  c1t0d0      0     0.0     1.0 
  c6t0d1      0     0.0     1.0 
  c6t0d2      0     0.0     1.0 
  c6t0d3      0     0.0     1.0 
  c6t0d4      0     0.0     1.0 
  c6t0d5      0     0.0     1.0 
  c8t0d1      0     0.0     1.0 
  c8t0d2      0     0.0     1.0 
  c8t0d3      0     0.0     1.0 
  c8t0d4      0     0.0     1.0 
  c8t0d5      0     0.0     1.0 
c10t0d1      0     0.0     1.0 
c10t0d2      0     0.0     1.0 
c10t0d3      0     0.0     1.0 
c10t0d4      0     0.0     1.0 
c10t0d5      0     0.0     1.0 
c12t0d1      0     0.0     1.0 
c12t0d2      0     0.0     1.0 
c12t0d3      0     0.0     1.0 
c12t0d4      0     0.0     1.0 
c12t0d5      0     0.0     1.0 
  c6t0d6      0     0.0     1.0 
  c6t0d7      0     0.0     1.0 
  c6t1d0      0     0.0     1.0 
  c6t1d1      0     0.0     1.0 
  c6t1d2      0     0.0     1.0 
  c6t1d3      0     0.0     1.0 
  c8t0d6      0     0.0     1.0 
  c8t0d7      0     0.0     1.0 
  c8t1d0      0     0.0     1.0 
  c8t1d1      0     0.0     1.0 
  c8t1d2      0     0.0     1.0 
  c8t1d3      0     0.0     1.0 
c10t0d6      0     0.0     1.0 
c10t0d7      0     0.0     1.0 
c10t1d0      0     0.0     1.0 
c10t1d1      0     0.0     1.0 
c10t1d2      0     0.0     1.0 
c10t1d3      0     0.0     1.0


从以上三项可以基本初步评估主机在故障发生前后的资源使用情况,可以明确的看到,在发生故障时,主机资源比较空闲。
基于此类故障,在主机资源充足的情况下,发生资源争夺(如不能获得文件句柄),很可能于Oracle bug有关。查阅Oracle 官方文档,又一未公布bug( unpublished Bug 6931689)与此故障极为类似,详见metalink doc 739557.1。
此bug主要发生的平台为:
引用
HP-UX PA-RISC (64-bit)
HP-UX Itanium
HP IA64 HPUNIXHP 9000 Series HP-UX (64-bit)

数据库版本为:10.2.0.3 to 11.1.0.6
引用
- 10.2.0.3, 10.2.0.3 +  CRS Bundle Patch #2  or CRS Bundle Patch #3
- 10.2.0.4
- 11.1.0.6


解决方法为:
在目前版本的基础上,打下列补丁之一
引用
- CRS 10.2.0.4 Bundle Patch #2 (Patch 7493592) or above. See Note 405820.1
- Latest 10.2.0.4 CRS PSU Patch as per Note 756671.1
The fix has to be applied to both CRS and RAC Database home to fix the problem.
The BUG is fixed in 11.1.0.7 and will be fixed in 10.2.0.5.

建议:
1、目前数据库版本为10.2.0.4,可以在此补丁基础上应用最新的psu patch(10.2.0.4.4)
2、调大参数nfile至131072。
0
1
分享到:
评论

相关推荐

    Oracle RAC故障节点删除步骤

    Oracle RAC 故障节点删除步骤 Oracle RAC(Real Application Clusters)是一种高可用性数据库解决方案,旨在提供高可用性和可扩展性。然而,在实际操作中,RAC 节点可能会出现故障,导致整个集群的不稳定。因此,...

    RAC坏节点重建

    2. 停止故障节点的资源:在执行修复之前,需要确保故障节点上的相关Oracle资源已经停止。使用srvctl工具可以停止特定的数据库或实例。比如使用srvctl stop nodeapps命令来停止节点应用服务。 3. 更新集群配置:由于...

    Oracle rac 两节点升级.docx

    在本文中,我们将详细探讨如何将一个拥有两个节点的Oracle RAC 11.2.0.1.0系统升级到11.2.0.4.0版本。Oracle RAC(Real Application Clusters)是一种数据库高可用性解决方案,允许在多台服务器之间共享单个数据库...

    Windows平台Oracle RAC 集群安装过程

    本文将详细解析在北京时代朝阳数据库技术中心Trail实验室的指导下,如何在Windows 2003平台上构建双节点Oracle RAC系统。 #### 安装前准备 在正式进行Oracle RAC集群的安装之前,必须确保一系列的准备工作已经完成...

    向基于 Linux 的 Oracle RAC 10g 集群添加新节点

    Oracle RAC 10g 是一个集群数据库,允许多个服务器共享同一个数据库,从而提高性能并确保单一故障点的冗余。在业务需求增长时,向RAC集群添加新节点是一项常见的操作,以分散负载并增强处理能力。 在本文中,我们将...

    oracle rac (veritas)双机集群,机器主板挂掉后的单节点启动

    Oracle RAC(Real Application Clusters)是一种高可用性解决方案,它允许多个实例在多台服务器上共享同一个数据库,提供故障切换和负载均衡能力。在Veritas环境下的Oracle RAC配置,结合Veritas Cluster Server...

    RAC ORACLE 节点有关操作

    ORACLE RAC 节点有关的操作 srvctl crs_stop crs_stat crsctl

    Oracle RAC重启操作手册

    ### Oracle RAC重启操作手册知识点解析 #### 一、准备工作 **知识点1:确认应用程序状态** - **背景**: 在进行任何重启操作之前,确保所有的应用程序都已经停止是非常重要的一步。 - **目的**: 避免在数据库重启...

    Oracle rac功能测试方案

    3. **稳定性方面**:在模拟网络异常和节点故障情况下,Oracle RAC能够快速恢复,保证了系统的高可用性和稳定性。 综上所述,Oracle 11g RAC在经过细致的功能测试后,证明了其在企业级应用中的可靠性和高效性。通过...

    深入理解OracleRAC12c

    资源名称:深入理解Oracle RAC 12c内容简介:《深入理解Oracle RAC 12c》介绍了Oracle RAC 12c技术的方方面面,涵盖了与RAC技术相关的集群件知识、数据库知识、存储知识、网络知识,并在基于RAC的应用软件设计、优化...

    Oracle 11gR2 RAC 添加节点 案例

    现在的RAC环境是2节点的RAC,节点是RAC1和RAC2,在本文档中,我们要添加一个节点:RAC3。

    Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细).md

    Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细),一看就会的那种

    大话Oracle.RAC:集群、高可用性、备份与恢复(第2版)---详细标签

    《大话Oracle.RAC:集群、高可用性、备份与恢复(第2版)》是一部深入探讨Oracle数据库Real Application Clusters(RAC)技术的专业书籍,主要围绕Oracle RAC的集群架构、高可用性策略以及数据库的备份与恢复策略...

    Oracle 11GR2 RAC节点crash故障分析

    通过对Oracle 11GR2 RAC节点Crash故障的详细分析,我们发现通信问题是导致故障的主要原因之一。通过一系列的排查和优化措施,可以有效降低类似故障发生的概率,保障集群的稳定运行。在日常维护过程中,应加强对集群...

    4节点ORACLE RAC 安装和配置

    4 节点 ORACLE RAC 安装和配置

    Oracle RAC增加ASM盘,创建表空间

    实验环境为虚拟机软件 Oracle VirtualBox 4.3.8、数据库软件Clusterware 10.2.0.1+database 10.2.0.1、数据库名称 OracleRAC、节点 SID OracleRA1 OracleRA2、节点主机名 rac1 rac2,对应虚拟机名称 CentOS_Oracle_2...

    Oracle RAC 新增节点 操作步骤

    在面临故障或者需要扩展资源时,可能需要对RAC集群进行节点的添加或删除操作。本篇文章将详细介绍如何在Oracle 11g RAC环境中增加一个新的节点。 ### 一、环境概述 在当前环境中,我们有一个由两个节点组成的...

    深入理解Oracle RAC 12c(完整书签).pdf

    当集群中的某个节点发生故障时,Oracle自动进行故障转移(failover),将该节点的负载转交至集群中的其他节点。恢复机制确保数据在故障后能够迅速恢复到可用状态。 5. 配置与优化:Oracle RAC 12c的配置和优化涉及...

    由重启引起的Oracle RAC节点宕机分析及追根溯源.docx

    本文档详细探讨了一个省级电信业务系统中,因频繁重启导致Oracle Real Application Clusters (RAC) 节点出现故障的情况。该系统在四套配置相同的RAC上运行,每套RAC均采用相同的主机版本、CRS(集群注册服务)和数据库...

    oracleRAC9 单节点安装文档

    ### Oracle RAC 9 单节点安装指南及关键知识点 #### 一、概述 Oracle Real Application Clusters (RAC) 是 Oracle 数据库的一种部署模式,它允许多个数据库实例同时访问同一组数据文件,以此来提高数据库的可用性和...

Global site tag (gtag.js) - Google Analytics