Purpose
  Scope
  Details
  问题 1:警报日志显示 ora-29740 是实例崩溃/驱逐的原因
  症状:
  可能的原因:
  解决方案:
  问题 2:警报日志在实例崩溃或驱逐前显示“ipc send timeout”错误
  症状:
  可能的原因:
  解决方案:
  问题 3:在实例崩溃或驱逐前,问题实例处于挂起状态
  症状:
  可能的原因:
  解决方案:
  问题 4:在一个或多个实例崩溃或驱逐前,警报日志显示“Waiting for clusterware split-brain resolution(等待集群“脑裂”解决方案)”
  症状:
  可能的原因:
  解决方案:
  问题 5:另一个实例尝试驱逐问题实例,但由于一些原因未能成功驱逐,最终CRS会终止该问题实例。
  症状:
  可能的原因:
  解决方案:
  References

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11.2]
Information in this document applies to any platform.

Purpose

本文档针对导致实例驱逐的主要问题为 DBA 提供了一个快速概述。

Scope

DBA

Details

问题 1:警报日志显示 ora-29740 是实例崩溃/驱逐的原因

症状:

实例崩溃,警报日志显示“ORA-29740:evicted by member ...(被成员...驱逐)”错误。

可能的原因:

一个实例将另一个实例从 RAC 数据库驱逐时,出现了 ORA-29740 错误。被驱逐的实例会在警报日志中报告 ora-29740 错误。
此问题的部分原因是集群中的通信错误、向控制文件发送“心跳”失败以及其它原因。

检查所有实例的 lmon 跟踪文件,这对确定实例驱逐的原因代码而言非常重要。查找包含“kjxgrrcfgchk:Initiating reconfig”的行。
这将提供一个原因代码,如“kjxgrrcfgchk:Initiating reconfig, reason 3”。实例驱逐时发生的大多数 ora-29740 错误是由于原因 3(“通信故障”) 造成的。

Document 219361.1(Troubleshooting ORA-29740 in a RAC Environment) 介绍了以下几种可能造成原因 3的 ora-29740 错误原因:

a) 网络问题。
b) 资源耗尽(CPU、I/O 等)
c) 严重的数据库争用。
d) Oracle bug。

解决方案:

1) 检查网络,确保无网络错误,如 UDP 错误或 IP 数据包丢失或故障错误。
2) 检查网络配置,确保所有节点上的所有网络配置均设置正确。
   例如,所有节点上 MTU 的大小必须相同,并且如果使用巨帧,交换机也能够支持大小为 9000 的 MTU。
3) 检查服务器是否存在 CPU 负载问题或可用内存不足。
4) 检查数据库在实例驱逐之前是否正处于挂起状态或存在严重的性能问题。
5) 检查 CHM (Cluster Health Monitor) 输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。CHM 输出只能在特定平台和版本中使用,因此请参阅 CHM 常见问题Document 1328466.1
6) 如果 OSWatcher 尚未设置,请按照Document 301137.1中的说明进行设置以运行 OSWatcher。
   CHM 输出不可用时,使用 OSWatcher 输出将有所帮助。

问题 2:警报日志在实例崩溃或驱逐前显示“ipc send timeout”错误

症状:

实例驱逐时,警报日志显示许多“IPC send timeout”错误。此消息通常伴随数据库性能问题。

可能的原因:

在 RAC 中,数据库进程,例如 lmon、lmd 和 lms 会不断地和其他实例的进程通信。lmd0 进程负责管理 enqueue,而 lms 进程负责管理数据块资源并传输数据块以支持 Cache Fusion。如果这些进程中的一个或多个受阻、死循环或异常繁忙,则可能导致“IPC send timeout(IPC 发送超时)”错误。

lmon、lms 和 lmd 进程报告“IPC send timeout”错误的另一个原因是网络问题或服务器资源(CPU 和内存)问题。这些进程可能无法获得 CPU 运行调度或这些进程发送的网络数据包丢失。

涉及 lmon、lmd 和 lms 进程的通信问题导致实例驱逐。被驱逐实例的警报日志显示的信息类似于如下示例

IPC Send timeout detected.Sender: ospid 1519
Receiver: inst 8 binc 997466802 ospid 23309

如果某实例被驱逐,警报日志中的“IPC Send timeout detected(检测到 IPC 发送超时)”通常伴随着其它问题,如 ora-29740 和“Waiting for clusterware split-brain resolution(等待集群件“脑裂”解决方案)”

解决方案:

此处的解决方案与问题 1 相似。

1) 检查网络,确保无网络错误,如 UDP 错误或 IP 数据包丢失或故障错误。
2) 检查网络配置,确保所有节点上的所有网络配置均设置正确。
   例如,所有节点上 MTU 的大小必须相同,并且如果使用巨帧,交换机也能够支持大小为 9000 的 MTU。
3) 检查服务器是否存在 CPU 负载问题或可用内存不足。
4) 检查数据库在实例驱逐之前是否正处于挂起状态或存在严重的性能问题。
5) 检查 CHM (Cluster Health Monitor) 输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。CHM 输出只能在特定平台和版本中使用,因此请参阅 CHM 常见问题Document 1328466.1
6) 如果 OSWatcher 尚未设置,请按照Document 301137.1中的说明进行设置以运行 OSWatcher。
   CHM 输出不可用时,使用 OSWatcher 输出将有所帮助。

问题 3:在实例崩溃或驱逐前,问题实例处于挂起状态

症状:

在实例崩溃/驱逐前,该实例或数据库正处于挂起状态。当然,也可能是节点挂起。

可能的原因:

由于 lmon、lmd 和 lms 等不同进程与其它实例上对应的进程通信,因此当实例和数据库挂起时,这些进程可能正在等待某个资源,如 latch、enqueue 或数据块。这些等待中的进程得不到网络响应,或无法通过网络向远程实例发送任何通信。因此,其它实例将驱逐问题实例。

在执行驱逐其他实例动作的实例警报日志中,您可能会看到与以下消息类似的消息:
Remote instance kill is issued [112:1]:8
或者
Evicting instance 2 from cluster

解决方案:

1) 查找数据库或实例挂起的原因。对数据库或实例挂起问题进行故障排除时,获取全局 systemstate 转储和全局hang analyze 转储是关键。如果无法获取全局 systemstate 转储,则应获取在大致相同时间所有实例的本地 systemstate 转储。
2) 检查 CHM (Cluster Health Monitor) 输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。CHM 输出只能在某些平台和版本中使用,因此请参阅 CHM 常见问题Document 1328466.1
3) 如果 OSWatcher 尚未设置,请按照Document 301137.1中的说明进行设置以运行 OSWatcher。
CHM 输出不可用时,使用 OSWatcher 输出将有所帮助。

问题 4:在一个或多个实例崩溃或驱逐前,警报日志显示“Waiting for clusterware split-brain resolution(等待集群“脑裂”解决方案)”

症状:

在一个或多个实例崩溃之前,警报日志显示“Waiting for clusterware split-brain resolution(等待集群件“脑裂”解决方案)”。这通常伴随着“Evicting instance n from cluster(从集群驱逐实例 n)”,其中 n 是指被驱逐的实例编号。

可能的原因:

lmon 进程向远程实例发送一个网络 ping,如果远程实例上的 lmon 进程不响应,则出现实例级别的“脑裂”。因此,查找 lmon 不能相互通信的原因对解决此问题而言非常重要。

常见原因有:
1) 实例级别的“脑裂”通常由网络问题导致,因此检查网络设置和连接非常重要。但是,因为如果网络已关闭,集群件 (CRS) 就会出现故障,所以只要 CRS 和数据库使用同一网络,则网络不太可能会关闭。  
2) 服务器非常繁忙和/或可用内存量低(频繁的交换和内存扫描),将阻止 lmon 进程被调度。
3) 数据库或实例正处于挂起状态,并且 lmon 进程受阻。
4) Oracle bug

以上原因与问题 1的原因相似(警报日志显示 ora-29740 是实例崩溃/驱逐的原因)。

解决方案:

此处的解决方案与问题 1 相似。

1) 检查网络,确保无网络错误,如 UDP 错误或 IP 数据包丢失或故障错误。
2) 检查网络配置,确保所有节点上的所有网络配置均设置正确。
   例如,所有节点上 MTU 的大小必须相同,并且如果使用巨帧,交换机也能够支持大小为 9000 的 MTU。
3) 检查服务器是否存在 CPU 负载问题或可用内存不足。
4) 检查数据库在实例驱逐之前是否正处于挂起状态或存在严重的性能问题。
5) 检查 CHM (Cluster Health Monitor) 输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。CHM 输出只能在特定平台和版本中使用,因此请参阅 CHM 常见问题Document 1328466.1
6) 如果 OSWatcher 尚未设置,请按照Document 301137.1中的说明进行设置以运行 OSWatcher。
   CHM 输出不可用时,使用 OSWatcher 输出将有所帮助。

问题 5:另一个实例尝试驱逐问题实例,但由于一些原因未能成功驱逐,最终CRS会终止该问题实例。

症状:

一个实例驱逐其他实例时,在问题实例自己关闭之前,所有实例都处于等待状态,但是如果问题实例因为某些原因不能终止自己,发起驱逐的实例将发出 Member Kill 请求。Member Kill 请求会要求 CRS 终止问题实例。此功能适用于 11.1 及更高版本。

可能的原因:

要求 CRS 终止问题实例的实例警报日志显示
Remote instance kill is issued [112:1]:8

例如,以上消息表示终止实例 8 的 Member Kill 请求已发送至 CRS。

问题实例由于某种原因正处于挂起状态且无响应。这可能是由于节点存在 CPU 和内存问题,并且问题实例的进程无法获得 CPU 运行调度。

第二个常见原因是数据库资源争用严重,导致问题实例无法完成远程实例驱逐该实例的请求。

另一个原因可能是由于实例尝试中止自己时,一个或多个进程“幸存”了下来。除非实例的所有进程全部终止,否则 CRS 不认为该实例已终止,而且不会通知其它实例该问题实例已经被终止。这种情况下的一个常见问题是一个或多个进程变成僵尸进程且未终止。
并导致CRS通过节点重启或 rebootless restart( CRS 重新启动但节点不重启)进行重新启动。这种情况下,问题实例的警报日志显示
Instance termination failed to kill one or more processes
Instance terminated by LMON, pid = 23305
(实例终止未能终止一个或多个进程
实例被 LMON, pid = 23305 终止)

解决方案:

此问题的解决方案与问题 3 相似

1) 查找数据库或实例挂起的原因。对数据库或实例挂起问题进行故障排除时,获取全局 systemstate 转储和全局hang analyze 转储是关键。如果无法获取全局 systemstate 转储,则应获取在大致相同时间所有实例的本地 systemstate 转储。
2) 检查 CHM (Cluster Health Monitor) 输出,以查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环。CHM 输出只能在某些平台和版本中使用,因此请参阅 CHM 常见问题Document 1328466.1
3) 如果 OSWatcher 尚未设置,请按照Document 301137.1中的说明进行设置以运行 OSWatcher。
CHM 输出不可用时,使用 OSWatcher 输出将有所帮助.

References

NOTE:1328466.1 - Cluster Health Monitor (CHM) FAQ
NOTE:1375405.1 - Top 5 RAC Instance Crash Issues
NOTE:219361.1 - Troubleshooting ORA-29740 in a RAC Environment
NOTE:301137.1 - OSWatcher Black Box User Guide (Includes: [Video])

oracle_导致实例逐出的五大问题相关推荐

  1. mysql 集群 grra_Oracle RAC 导致实例驱逐的五大原因[ID 1526186.1]

    这篇文档在MOS上看到被翻译成了中文,觉得比较实用,因此贴出来方便别人查阅,后期会尽量多贴一些MOS上的中文技术资料,希望可以帮到别人,同时也算自己学习的一个过程. Applies to: Oracl ...

  2. ORA-07445导致实例崩溃的解决【The solution of instance crush by ORA-07445】

       昨天(2007-12-27日)维护某省移动一个平台的工程师报告数据库实例不可用,只能重新启动!这还得了,业务无论如何不能停.     赶快登录到那个服务器上去检查.     通过日志分析,我看到 ...

  3. Oracle v12.2 Bug 27163928触发ORA-4031 导致实例crash.

    不啰嗦,具体分析过程如下: 1. alert log 2018-02-22T16:00:23.021370+08:00 Errors in file /u01/app/oracle/diag/rdbm ...

  4. mysql 临时文件写满_阿里云数据库MySQL临时文件导致实例空间满的解决办法

    MySQL实例可能会由于查询语句的排序.分组.关联表产生的临时表文件,或者大事务未提交前产生的binlog cache文件,导致实例空间满,为避免数据丢失,RDS会对实例进行自动锁定,磁盘锁定之后,将 ...

  5. Zookeeper:fsync超时导致实例异常

    一.问题描述 2019-02-19 08:44左右,实时计算服务重启,报错显示找不到zk集群的leader节点,同时ZooKeeper集群有告警显示连接超时: 指标[连接耗时(ms)=18221]符合 ...

  6. ges resource dynamic和ges enqueues占用较高导致实例终止问题处理

    数据库告警日志分析分析 通过对数据库告警日志查看,节点1出现ORA-29970错误,LMD进程无法响应,被LMHB进程将实例终止,实例终止后自动启动.节点2被LMS0进程将实例终止,实例终止后自动启动 ...

  7. 捣蛋SQL导致实例iops 100%

    一用户RDS每天隔一段时间就会出现IOPS 100%的问题,求助到阿里云,这类问题的出现有以下一些排查思路: 排查思路: (1).慢SQL问题:通过优化索引,子查询,隐士转换,分页改写等优化:(2). ...

  8. 【MOS】中文文档列表 - Oracle Database (文档 ID 1533057.1)

    中文文档列表 - Oracle Database (文档 ID 1533057.1) 类型: 状态: 上次主更新: 上次更新: ANNOUNCEMENT PUBLISHED 2017-2-23 201 ...

  9. 两个主机mtu不相同_案例详解:MTU不一致导致主机和RAC不断重启

    文章来源:JiekeXu之路 ,作者JiekeXu 内容更多查看:https://www.modb.pro/(复制至浏览器,即可查看) AIX 操作系统因 MTU 不一致导致主机和 RAC 数据库不断 ...

最新文章

  1. component是什么接口_【Android每日一题】从Activity创建到View呈现中间发生了什么?...
  2. matlab欧拉迭代,matlab机械臂正逆运动学求解问题,使用牛顿-欧拉迭代算法
  3. LOJ504「LibreOJ β Round」ZQC 的手办
  4. 常量元素记忆口诀_人体中的常量元素与微量元素
  5. C#调用C++(opencv)中图片数据传递的问题
  6. netcore编程之后面对不习惯的xshell黑屏部署,是时候使用jenkins自动化发布工具了...
  7. VMware vSphere Client客户端安装图解教程
  8. 第8篇:Flowable-Modeler集成之Flowable-modeler源码编译
  9. windows下tomcat7+nginx1.8负载均衡
  10. win32开发(调试)
  11. CTF之Web安全训练前篇1
  12. 【信息系统项目管理师】第四章 项目整体管理(考点汇总篇)
  13. 【UVa 12304】2D Geometry 110 in 1! (计算几何、圆)
  14. 跟开涛学SpringMVC
  15. 解决透视变换后图片信息丢失的问题,附程序
  16. 逼自己一把,你就优秀了 【转】
  17. 自制合成孔径雷达(3) doppler代码解读
  18. 复工后,企业裁员、降薪前必须了解的10个法律问题
  19. matlab中面板中如何显示不出来,用matlab程序运行空间面板过程中出现出现如下问题,要怎么解决呢?请各位大牛指点...
  20. 【Android开发日记】jsonObject = new JSONObject(info)报错 A JSONObject text must begin with '{' at character

热门文章

  1. python简单实践作业_【Python】:简单爬虫作业
  2. 点石关键词排名优化软件_福建关键词优化软件有哪些
  3. 计算机操作系统教程讲解视频,计算机操作系统(54集)全套教学视频
  4. 基于mysql的springmvcjar_糊涂jar_SpringMVC+Spring+Mybatis项目实战[SSM/MySQL/AJAX/IDEA]_Java视频-51CTO学院...
  5. mysql查询报错2014_mysql Hibernate 查询时用别名报错
  6. Abp vnext Web应用程序开发教程 1 —— 创建服务器端
  7. 使用管理扩展性框架构建模块化控制台应用程序
  8. java当前目录指什么_是什么决定了Tomcat Java进程的当前工作目录?
  9. qt判断读入的字符串是否含有英文_重复的子字符串
  10. python解析器原理_Python程序运行原理图文解析