ITPub博客

首页 > 数据库 > Oracle > 【ASK_ORACLE】RAC节点自动重启但日志里未报错的原因和解决方法

【ASK_ORACLE】RAC节点自动重启但日志里未报错的原因和解决方法

原创 Oracle 作者:Attack_on_Jager 时间:2022-05-19 15:55:24 1 删除 编辑

前言

你有没有遇到过:有时候会发现RAC节点的CRS服务会自动重启,但是日志里却没有记录报错和重启原因。下面就来看看为什么会发生还有解决办法吧!


节点自动重启原因

1.当集群节点挂起一段时间或者一个或多个关键 CRS 进程无法被CPU调度时,会发生这种情况。可以但这种情况并不是由于CPU资源耗尽导致,而是因为那些进程都以实时优先级运行,所以可能是因为内存耗尽或者可用内存低导致。

2. 如果是数据库进程问题导致,则oprocd、cssdmonitor 和 cssdagent这三个进程可能会导致节点重启,并且日志文件没有显示任何错误。

3. 可能是由于此时内核交换页的非常繁忙或者是为了标识要释放的页而正忙于扫描内存。

4. 可能存在 OS 调度时的bug。


解决办法

1. 如果 CRS 版本为 11.1 或者更低,需要把“diagwait”设置为13

2. 如果OS为AIX,需要优化AIX VM参数,方法可参考MOS 811293.1

3. 如果OS为Linux,需要启用内存大页(Hugepage),并停用透明大页(Transparent HugePages)将内核参数“vm.min_free_kbytes”设置为512MB,将“swappiness”设置为100。如果内核版本小于等于2.6.18(例如:RHEL 5,Oracle Linux 5,SLES 10),则设置内核参数swappiness 为100

注:

1)配置内存大页的方法请参考本人的另一篇文章: http://blog.itpub.net/69992972/viewspace-2764357/

2)禁用透明大页的方法请参考本人的另一篇文章: http://blog.itpub.net/69992972/viewspace-2764784/

4. 检查是否有大量内存分配给了操作系统的 IO 缓冲区高速缓存。如果有,就需要减少 IO 缓冲区高速缓存量,或者增加从 IO 缓冲区高速缓存回收内存的比率

5. 增加OS内存大小


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

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

注册时间:2021-01-11

  • 博文量
    142
  • 访问量
    482812