案例:ohasd crash on aix

本案例是福建某客户一套待上线系统,操作系统版本为AIX 7.2 ,集群版本为12.2。几天前2节点GI突然重启,由于是比较重要的待上线系统,所以需要仔细一下分析原因。

话不多说,由于是GI突然重启,那么先看看GI alert日志:

可以看到从21点21分开始出现gpnp通信异常,22分33秒时ohasd栈的4个agent全部同时挂掉,这其实给了我们很大的提示,ohasd_orarootagent_root、ohasd_oraagent_grid、ohasd_orarootagent_root、ohasd_cssdagent_root正好是ohasd.bin守护进程启动之后启动的4个agent,它们负责维护(启动、关闭等等)ohasd层面的资源,如果出现同时挂掉的话,那么大概率是ohasd.bin出现了异常crash掉了,所以下一步直接看ohasd的trace文件。

从gpnpd出现异常的时间点,可以看到ohasd动态分配4120的内存失败,从gipcd.trc也可以看出通信异常的原因也是无法分配内存.

继续往下看ohasd的trace

可以看到大量的内存分配失败之后,ohasd.bin被abort了,这就是导致GI重启的原因。由于ohasd.bin是root来维护的,所以查看一下root的ulimit

这里可以看到大量错误的设置,包括导致此次故障的memory limit。

此条目发表在Oracle, Oracle troubleshooting分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注