故障现象
1月3日上午10时,一客户数据库实例1重启,当业务切换到实例2时,实例2也重启。
故障分析
日志分析:

下面信息摘取自LMON trace

从以上LMON TRACE中可以看出10:04:12检测到进程LMS失去心跳251秒,5秒后将kill实例。因此从实例1的告警日志中可以看出,数据库在10:04:17时报LMON detects unhealthy receivers,被LMON进程kill的信息,详细信息如下:

Thu Jan 0309:55:11 EAT 2013

Thread 1advanced to log sequence 9754 (LGWR switch)

  Current log# 1 seq# 9754 mem# 0:/vghn03/oradata/esshn/vghn03_1_rd12.log

  Current log# 1 seq# 9754 mem# 1:/vghn02/oradata/esshn/vghn02_1_rd11.log

Thu Jan 0310:04:17 EAT 2013

LMON detectsunhealthy receivers.

Please checkLMON and DIAG trace files for detail.

Thu Jan 0310:04:17 EAT 2013

LMON (ospid:13793) is terminating the instance.

LMON:terminating instance due to error 481

Thu Jan 0310:04:17 EAT 2013

System statedump is made for local instance

System Statedumped to trace file /oracle/admin/esshn/bdump/esshn1_diag_13789.trc

Thu Jan 0310:04:22 EAT 2013

Shutting downinstance (abort)

License highwater mark = 3088

Thu Jan 0310:04:23 EAT 2013

Instanceterminated by LMON, pid = 13793

Thu Jan 0310:04:27 EAT 2013

Instanceterminated by USER, pid = 12422

AWR分析:

Snap Id

Snap Time

Sessions

Cursors/Session

Begin Snap:

14904

03-Jan-13 09:00:24

919

14.1

End Snap:

14905

03-Jan-13 09:30:33

963

15.1

Elapsed:

30.15 (mins)

DB Time:

530.35 (mins)

Top 5 Timed Events

Event

Waits

Time(s)

Avg Wait(ms)

% Total Call Time

Wait Class

CPU time

25,967

81.6

gc cr block lost

3,289

2,035

619

6.4

Cluster

gc current block lost

1,670

1,052

630

3.3

Cluster

gc buffer busy

14,473

996

69

3.1

Cluster

gc cr multi block request

91,238

678

7

2.1

Cluster

获取数据库故障半小时前的awr,我们可以看出gc * blocklost事件很高,这说明数据块在私网传输时丢失,说明网络存在问题,在一个健康的系统中,该等待事件次数正常为0。请检查网络硬件是否正常、参数是否配置正确。详细参考ID 563566.1文档说明。

从OSW和AWR看出节点1 gc block lost等待事件一直发生,并且incomplete headers和bad checksums持续增加,如下图所示。节点2 没有gc block lost,在这个时间段incomplete headers和bad checksums也未增加,可以确认节点1的私有网络存在严重问题。另,让主机工程师检查了相同业务其他省的数据库incomplete headers和bad checksums均为0。请联系系统管理员和网络管理员检查该数据库节点1为什么节点1 incomplete headers和bad checksums持续增加?

另外,关于操作系统socket_udp_rcvbuf_default参数设置是否直接导致本次故障,因缺少故障前的socket overflows统计信息,暂无法断定。该值指定了UDP接受包时的cache大小,若设置较小往往会导致socket overflows持续增加。从目前收集的信息来看,gc block lost增加时,socket overflows并没有增加,建议继续用OSW继续监控,防止故障再次重现时缺少足够的信息分析。对于socket_udp_rcvbuf_default设置建议为socket_udp_sndbuf_default的两倍。

从目前收集到的信息来看,故障前出现大量的gc * block lost等待事件,该事件与网络有关,该事件频繁发生会导致实例重启。

从OSW和AWR日志可以看出实例1重启由私有网络问题导致,实例2重启由bug8455559导致。

根据两天的现场监控分析建议:

1)   请联系管理员检查该数据库主机上为什么存在大量的incomplete headers和bad checksums,并且节点1目前该值还持续增加?

2)   确保socket_udp_rcvbuf_default至少是socket_udp_sndbuf_default的两倍。参考Tuning Inter-Instance Performance in RAC and OPS (Doc ID 181489.1)。

该问题处理到这里,数据库方面基本就到底了,对于incomplete headers和bad checksums,可以肯定是硬件问题导致的,但厂家们检查后都说他们没有问题。

为了推进问题的处理,建议客户对两个节点间的线路进行检测。

最终问题是由节点2私网到交换机主备线路问题导致。

gc cr block lost相关推荐

  1. 分析解决11gR2 双节点RAC环境下的gc cr block busy/gc buffer busy acquire等待

    ?  系统环境 两节点的RAC:AIX6.1+Oracle 11.2.0.3.3 ?  AWR里展示出来的各种症状(数据来自实例2) 虽然应用没有报障,但AWR报告里的各种迹象已经很明显了 (1)   ...

  2. oracle查询导致 gc等待,如何诊断Oracle RAC系统中的等待事件gc cr multi block request?...

    AIX上: #no –a udp_recvspace udp_sendspace o 设置udp_sendspace >=[(DB_BLOCK_SIZE * DB_FILE_MULTIBLOCK ...

  3. GC Blocks Lost等待事件

    在Oracle RAC环境中,无论我们从AWR自动负载性能报告.Statspack或者Grid Control中都可以找到Oracle数据库软件所收集的全局缓存工作负载统计信息(global cach ...

  4. oracle gc chain,ORACLE GC 类等待事件汇总分析

    ORACLE GC 类等待事件汇总分析 作者简介: ---------------------------------------------------------------------- @ 孙 ...

  5. oracle gc buffur,【性能調優】Oracle AWR報告指標全解析

    1-1  內存參數大小 Cache Sizes                       BeginEnd ~~~~~~~~~~~                  ---------- ----- ...

  6. oracle的gc告警,防患未然:Oracle gc等待事件的发现、处理与预防

    系统环境 两节点的RAC:AIX6.1+Oracle 11.2.0.3.3 AWR里展示出来的各种症状(数据来自实例2) 虽然应用没有报障,但AWR报告里的各种迹象已经很明显了 (1)gc buffe ...

  7. Oracle gc等待事件的发现、处理与预防

    系统环境 两节点的RAC:AIX6.1+Oracle 11.2.0.3.3 AWR里展示出来的各种症状(数据来自实例2) 虽然应用没有报障,但AWR报告里的各种迹象已经很明显了 (1)   gc bu ...

  8. 2017-03-27Oracle故障gc buffer busy acquire导致数据库不可用

    实施反馈系统有20分钟不可用,然后又自动恢复了.先查看alert日志,看到打开文件数不够,系统已经运行几年了,怎么可能呢. Non critical error ORA-48180 caught wh ...

  9. 深入理解Oracle RAC 12c 笔记

    深入理解Oracle RAC 12c 跳转至: 导航. 搜索 文件夹 1 概述 2 集群件管理和故障诊断 3 执行实践 4 新特性 5 存储和ASM 6 应用设计上的问题 7 管理和调优一个复杂的RA ...

  10. Know more about RAC statistics and wait event

    以下列出了RAC中的主要统计信息和等待事件: 1. Statistics: 1.1 V$SYSSTAT, V$SESSTAT (join to V$STATNAME) gc cr blocks ser ...

最新文章

  1. 【转】MySQL的语句执行顺序
  2. scrapy之内蒙古自治区环境保护厅
  3. Ext scope 学习
  4. 拿去用,常见几种加密算法的Python实现
  5. 跟我一起学docker(15)--监控日志和日志管理
  6. angulajs--入门基础
  7. MediaInfo源代码分析 3:Open()函数
  8. Monkeyrunner介绍
  9. 怎么用itunes来打开手机软件
  10. layuiadmin上手好难_日语中“上手”和“得意”、“下手”和“苦手”到底怎么区别?...
  11. TP框架log日志使用方法
  12. 某中学校校园网络方案设计(课程设计)
  13. Pandas-常用统计分析方法 describe、quantile、sum、mean、median、count、max、min、idxmax、idxmin、mad、var、std、cumsum
  14. 剑指Offer对答如流系列 - 剪绳子
  15. 使用pexpect报错could not shell prompt(received: ‘‘, excepted: ‘\\[PEXPECT\\][\\$\\#]‘)
  16. 计算机桌面任务栏怎样显示输入法,电脑的任务栏上找不到输入法图标怎么办
  17. python汇率转换代码中美_如何实现python汇率转换代码
  18. 手机显示主服务器连接异常怎么办,手机主服务器连接配置异常
  19. Image2icon for Mac(icns图标转换制作工具)
  20. Linux网络编程 - 域名(DNS)及网络地址

热门文章

  1. Oauth2.0 资源服务器搭建
  2. SuiteCRM搭建安装(apache+msyql+php)
  3. Qt QTreeView 详解
  4. biopython中文指南_Biopython学习笔记
  5. 通达信手机版分时图指标大全_通达信精选指标——挣开眼就买卖版指标详解
  6. AD2016 交互式网表 InteractiveHtmlBomForAD插件安装教程
  7. 奈奎斯特判据的个人理解
  8. c语言中动态内存分配的作用,C语言中动态内存的分配(malloc,realloc)
  9. 25个JAVA 机器学习工具包
  10. Java中处理tiff文件