适用于:

Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 11.2.0.3 [发行版 10.1 到 11.2]
本文档所含信息适用于所有平台

用途

本文章简要概述了导致节点重新启动或者 CRS 意外重启的几个最常见问题

适用范围

有节点重新启动问题的所有用户

详细信息

问题 1:节点重新启动,但是日志文件未显示任何错误或原因。

原因: 如果节点重新启动是由于某个 Oracle 进程,但是日志文件没有显示任何错误,则故障位置为 oprocd、cssdmonitor 和 cssdagent 进程。当节点挂起一段时间或者一个或多个关键 CRS 进程无法被调度获得 CPU 时,会发生这种情况。因为那些进程都以实时优先级运行,所以问题可能是因为内存耗尽或者可用内存低,而不是因为 CPU 耗尽。也可能是由于内核交换页的工作量繁重或者正忙于扫描内存以标识要释放的页。也可能存在 OS 调度问题。

解决方案:
1) 如果 CRS 版本为 11.1 或者更低,请将 diagwait 设置为 13。
2) 如果平台为 AIX,请参照文章 811293.1(RAC and Oracle Clusterware Best Practices and Starter Kit (AIX))中所建议的方法优化 AIX VM 参数。
3) 如果平台为 Linux,请设置 Hugepage 并将内核参数 vm.min_free_kbytes 设置为保留“512MB”,将 swappiness 设置为 100。
请注意,使用 Hugepage 时无法设置 memory_target。
4) 如果问题出现在Linux 平台而且内核版本为2.6.18 (例如:OEL5, Redhat 5, SLES 10)或更低,设置内核参数swappiness 为 100。
5) 对于SLES11, RHEL6, OEL6和使用UEK2 内核的Linux 平台,停用Transparent HugePages。
6) 检查是否有大量内存分配给了操作系统的 IO 缓冲区高速缓存。与 OS 供应商联系,建议一些方法来减少 IO 缓冲区高速缓存量,或者增加从 IO 缓冲区高速缓存回收内存的比率。
7) 增加内存量。

问题 2:节点重新启动,该节点是由于丢失网络心跳而被逐出。

这是因为丢失网络心跳或 发生了脑裂。在双节点环境中,节点 2 的重复重新启动通常意味着节点 2 由于 脑裂 而被驱逐。在节点重新启动前,ocssd.log 会显示丢失网络心跳或一条脑裂消息。

原因:节点之间通过私网互连的网络通信失败。故障可能是单向或者双向的。
解决方案:修复网络问题。确保交换机和 NIC 卡等所有网络组件都正常运行。确保 ssh 能通过私网互连工作。请注意,网络通常在节点重新启动后可以恢复正常。
注意: 如果您使用了巨帧(Jumbo Frame),请参考文章341788.1 (Recommendation for the Real Application Cluster Interconnect and Jumbo Frames)。如果交换机的巨帧设置与集群私网NIC卡的MTU(巨帧)设置不同,会出现网络问题,并导致节点驱逐或CRS无法启动。 有时,如果您使用的交换机和NIC卡来自不同的厂商,它们对巨帧的支持也可能不同。

问题 3:在出现存储问题后节点重新启动。

ocssd.log 文件显示节点因为无法访问大部分 voting disks 而重新启动。

原因:CRS 必须能够访问大部分 voting disks 。如果 CRS 无法正常访问大部分 voting disks ,则 CRS 无法确保群集的一致性,所以 CRS 重新启动节点。
解决方案:修复 voting disks 的问题。确保用户 oracle 或 grid,或者CRS 或 GI HOME 的拥有者可以使用和访问 voting disks 。如果 voting disks 未在 ASM 中,请使用 "dd if= of=/dev/null bs=1024 count=10240" 测试可访问性。

问题 4:asm 或数据库实例被挂起或驱逐后节点重新启动。

正常运行节点的 ocssd.log 显示一个 member kill 请求升级到了 node kill 请求。

原因:从版本 11.1 开始,如果无法在数据库级别驱逐数据库或 asm 实例,则意味 CRS 将介入来尝试终止问题实例,这被称之为 member kill 请求。如果 CRS 无法终止该问题实例,则 CRS 会重新启动节点,因为 meber kill 请求被升级到了 node kill 请求。
解决方案:查找无法在数据库级别驱逐 asm 或数据库实例(lmon、lmd 和 lms 发起的驱逐)的原因。一个常见原因是实例正处于挂起状态,对远程实例的终止请求无法响应。另一个原因是无法终止多个实例进程中的某个进程。如进程处于不可中断的 IO 闲置状态就属于这样一个例子。

问题 5:CRS 自动重启,但是节点没有重新启动

原因:从版本 11.2.0.2 开始,如果 CRS 由于此处列出的任何原因而需要重新启动节点,CRS 会在重新启动节点之前尝试先对自身进行重启。仅当它无法成功重启自身时,CRS 才重新启动节点来强制对自身进行重启。
解决方案:检查此处列出的哪个节点重新启动原因适用,并按照针对该原因列出的解决方案进行操作。

参考

NOTE:265769.1 - Troubleshooting 10g and 11.1 Clusterware Reboots
NOTE:452326.1 - Linux Kernel Lowmem Pressure Issues and Related Kernel Structures
NOTE:811293.1 - RAC and Oracle Clusterware Best Practices and Starter Kit (AIX)
NOTE:1557478.1 - ALERT: Disable Transparent HugePages on SLES11, RHEL6, OL6 and UEK2 Kernels
NOTE:341788.1 - Recommendation for the Real Application Cluster Interconnect and Jumbo Frames
NOTE:1050693.1 - Troubleshooting 11.2 Clusterware Node Evictions (Reboots)

最常见的 5 个导致节点重新启动、驱逐或 CRS 意外重启的问题 (文档 ID 1524455.1)的更多相关文章

  1. 如何诊断 11.2 集群节点驱逐问题 (文档 ID 1674872.1)

    适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.1 到 11.2.0.2 [发行版 11.2]本文档所含信息适用于所有平台 用途 这篇文档提 ...

  2. 导致实例逐出的五大问题 (文档 ID 1526186.1)

    适用于: Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.3 [发行版 10.2 到 11.2]本文档所含信息适用于所有平台 用 ...

  3. XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)

    以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  4. javaScript获取文档中所有元素节点的个数

    HTML+JS 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  5. 最常见的5个导致 RAC 实例崩溃的问题

    适用于: OracleDatabase - Enterprise Edition - 版本11.2.0.1 和更高版本本文档所含信息适用于所有平台 用途 本文档的目的是总结可能导致 RAC 实例崩溃的 ...

  6. 精华阅读第 13 期 |常见的八种导致 APP 内存泄漏的问题

    本期是移动开发精英俱乐部的第13期文章,都是以技术为主,所以这里就不过多的进行赘述了,我们直接看干货内容吧!本文系ITOM管理平台OneAPM整理. 实际项目中的MVVM(积木)模式–序章 导读:开篇 ...

  7. k8s驱逐篇(3)-kubelet节点压力驱逐-源码分析篇

    kubelet节点压力驱逐-概述 kubelet监控集群节点的 CPU.内存.磁盘空间和文件系统的inode 等资源,根据kubelet启动参数中的驱逐策略配置,当这些资源中的一个或者多个达到特定的消 ...

  8. javascript创建文档碎片节点

    在<javascript高级程序设计>一书的6.3.5:创建和操作节点一节中,介绍了几种动态创建html节点的方法,其中有以下几种常见方法: · crateAttribute(name): ...

  9. Cassandra1.2文档学习(2)——节点间通信协议之gossip协议

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/a ...

随机推荐

  1. HDOJ-2045

    不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  2. Identity Server 4 原理和实战(完结)_Reference Token,撤销Tokens,Google和Github登录

    服务端设置为ReferenceToken accessToken的内容比原来的少了很多 断点继续回来就会发生异常 服务端设置 客户端设置,使用一个封装好的库 撤销Token 我们在点击退出按钮的时候撤 ...

  3. CCF 201512-1 数位之和 (水题)

    问题描述 给定一个十进制整数n,输出n的各位数字之和. 输入格式 输入一个整数n. 输出格式 输出一个整数,表示答案. 样例输入 20151220 样例输出 13 样例说明 20151220的各位数字 ...

  4. linux tar命令及解压总结

    把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...

  5. hdoj5289【RMQ+二分】【未完待续】

    思路: 对当前值查找最近满足位置: 利用RMQ求出区间最大最小值,再枚举右端点,二分区间找到满足要求的最大区间累加

  6. ThinkPHP3.2.3学习笔记6---专题---数据分页

    http://document.thinkphp.cn/manual_3_2.html#data_page thinkphp3.2.3中分类的功能调用的文件$THINKPHP_HOME/ThinkPH ...

  7. OpenGL ES入门详解

     http://blog.csdn.net/wangyuchun_799/article/details/7736928 1.决定你要支持的OpenGL ES的版本.目前,OpenGL ES包含1.1 ...

  8. bzoj 3996: [TJOI2015]线性代数【最小割】

    把转置矩阵看成逆矩阵吓傻了233 首先按照矩乘推一下式子: \[ D=\sum_{i=1}^n a[i]*(\sum_{j=1}^n a[j]*b[j][i])-c[i] \] \[ D=(\sum_ ...

  9. [原创]内网渗透专用SSH连接工具sshcmd/sshshell/ssh密码破解以及Kali开启SSH

    目录 1.Kali开启SSH 2.SSH连接工具优缺点 3.渗透专用SSH连接工具 4.ssh执行cmd源码 5.批量SSH密码破解 6.相关工具下载 0x001 SSH配置 1.打开文件 etc/s ...

  10. iOS7 UITableView Row Height Estimation

    This post is part of a daily series of posts introducing the most exciting new parts of iOS7 for dev ...