ITPub博客

首页 > 数据库 > Oracle > 【ASK_ORACLE】导致ora-29740报错的可能原因和对应的解决方案

【ASK_ORACLE】导致ora-29740报错的可能原因和对应的解决方案

原创 Oracle 作者:Attack_on_Jager 时间:2021-09-01 11:13:48 0 删除 编辑

实验环境

搭建平台:VMware Workstation

OS:RHEL 6.10

Grid&DB:Oracle 11.2.0.4


问题描述

一个实例将另一个实例从 RAC 数据库踢出时,被踢出的实例的alert日志出现了“ORA-29740:evicted by member ”错误导致了实例崩溃。

出现这个问题的原因一般可能是集群中的通信错误、向控制文件发送“心跳”失败或者其它原因等。
此时需要检查所有实例的 lmon 的trace文件,这对确定实例驱逐的原因代码而言非常重要。查找包含“kjxgrrcfgchk:Initiating reconfig”的那一行。

举一个由于“通信故障”导致 ora-29740错误的例子,如“kjxgrrcfgchk:Initiating reconfig, reason 3”。这里的“reason 3”表示实例被踢出是由于原因 3(“通信故障”) 导致的。导致通信故障的可能原因如下:
1)网络问题
2)资源耗尽(CPU、I/O 等)
3)严重的数据库争用
4)Oracle bug


解决办法

这里提供几种方案来排查:

1) 检查网络,比如 UDP 错误或 IP 数据包丢失或故障错误
2) 检查网络配置,确保所有节点上的所有网络配置均设置正确。例如,所有节点上 MTU 的大小必须相同,并且如果使用巨帧,交换机也能够支持大小为 9000 的 MTU
3) 检查服务器是否存在 CPU 负载问题或可用内存不足
4) 检查数据库在实例被踢出之前是否正处于挂起状态或存在严重的性能问题
5) 检查 CHM (Cluster Health Monitor) 输出,查看服务器是否存在 CPU 或内存负载问题、网络问题或者 lmd 或 lms 进程出现死循环
6) 使用 OSWatcher 来进行监控

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69992972/viewspace-2789808/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在某银行任职DBA,拥有多年数据库运维经验,擅长Oracle,MySQL。尤其擅长Oracle的SQL优化,数据库性能调优,数据库备份、恢复与迁移。拥有的认证:OCM 12c,OCM 11g,MySQL OCP,RHCE,阿里云ACP,巨杉SCDP,软考系统集成工程师认证,Oracle Iaas OCA,OBCA,TDSQL认证,TBase认证

注册时间:2021-01-11

  • 博文量
    102
  • 访问量
    260146