基础环境: Redhat Enterprise 7.8,Oracle 19.3 2节点RAC。
问题回顾 :客户一套业务系2022-08-26 09:50主机硬件故障,主机重启后,1节点集群无法启动,gicp进程无法启动。 GIPCXCPT:3426985728: gipcmodTlsGetWalletObjFromCred: invalid certificate count[! = 1]in credSet:0, ret gipcretBadArg (37)
节点1集群profile.xml文件丢失导致集群启动时2个节点无法建立通信。profile.xml文件为集群启动时所必须的文件,每个节点上都会保存一个本地的 GPnP Profile,并且由 GPnP 守护进程(GPnPD)维护。在Oracle集群中,CSS、GPnP等服务的启动都需要依赖于GPnP profile文件。GPnP profile还指定了整个集群的特性。如果该文件被破坏或丢失,Clusterware将无法正常启动。节点1启动时启动了GPnP agent, GPnP agent无法读取到GPnP profile(profile.xml)。
分析过程:
1、检查主机重启后集群状态
使用grid用执行 crsctl stat res -t -init
$crsctl stat res -t -init

ora.gipcd资源状态 OFFLINE处于starting状态,ora.gpnpd资源状态为 INTERMEDIATE,这也异常状态。
2 、 ohasd_oraagent_grid.trc 日志 09:50:06gipcInternalConnectSync 失败

3 、 osysmond.trc 日志 09:53:25 获取 profile.xml 异常 (:GPNP00108:)Failed to get offline GPnP service profile.

4 、 gpnpd.trc 日志显示 09 : 50 分 gpnpd 进程丢失 profile 文件,导致集群无法启动:

解决办法
重新生成 profile.xml 文件后,可以正常启动crs和数据库。
gpnptool get -o / tmp /p.xml
cp / tmp /p.xml /u01/app/grid/ gpnp /node1/profiles/peer/
[root@node1 peer]# ls -l
total 8
- rw - rw -r-- 1 grid oinstall 1928 Aug 27 15:32 profile.xml
-the end-




