大家好!
惯例先介绍环境:
操作系统:Redhat7.6
数据库版本:19.7
是否RAC:是
ASM或文件系统:ASM
过程是这样的:最近在做部分19C数据库的高可用测试,killcrsd.bin进程是测试部分之一,在19C之前,killcrsd.bin进程之后,集群不会出现异常,crsd.bin会自动被agent拉起。然而这次19C kill crsd.bin进程后,ASM直接宕掉,集群及DB出现异常。
首先查看GIalert日志:

日志显示在killcrsd.bin进程之后,crsd进程发生了重启。
继续查看ASMalert日志看能否发现异常

日志显示10:06:29开始,ASM开始failover,db实例被shutdownimmediate。
查看CRS日志如下:

我们可以看到crsd进程被kill之后,在10:06:04.233后crsd就没有心跳了,随后在10:06:18.785crsd进程开始自动启动。

但是之后资源ora.asmnet1.asmnetwork一直停留在pendingconnections状态,随后ora.asmnet1.asmnetwork资源offline。
总结下:
ASM实例是被oraagent.bin进程正常关闭的,因为当我们kill掉crsd进程后,其引发了CRSDdeep check starts hanging and finally orarootagent returns failed
随后导致ora.asmnet1.asmnetwork资源offline,最终oraagent会让这个节点的ASM实例failover。
在MOS上找到了关于该问题的介绍(DocID 29502953.8),是由于触发Bug29502953导致,从19.1开始一直到20.1以下之间的版本都有可能触发这个BUG,且无workround。
官档介绍截图:

所以在19C版本,千万不要随意去killcrsd进程......切记切记!




