南大通用GBase 8a数据库的gcadmin返回GC_AIS_ERR_LIBRARY报错信息

GBase 8a数据库集群提供了gcadmin的管理命令来获得集群当前状态,如果返回报错信息GC_AIS_ERR_LIBRARY,目前已知操作系统/dev/shm内存不足导致,最少需要128M。

现象描述

在集群其中一个节点上执行gcadmin,返回GC_AIS_ERR_LIBRARY,如下图示。
在这里插入图片描述

原因分析

出现该问题时一方面需要检查当前用户是否有修改/dev/shm目录的权限,另一方面检查服务器的/dev/shm目录是否已被占满。
执行strace gcadmin命令,在最后看到如下图所示的信息。
在这里插入图片描述
紧接着往上找最后一次出错的系统调用,如果出现“Permission denied”关键字,表示gcadmin执行失败是由于没有权限导致的,如下图所示。
在这里插入图片描述
如果出现“No space left on device”关键字,表示是由于服务器的/dev/shm目录被占满,如下图所示。
在这里插入图片描述
另外执行df –ahT命令,如果/dev/shm目录Use%为100%也表示/dev/shm目录被占满。
在这里插入图片描述

解决办法

如果是“Permission denied”,给当前用户赋予操作/dev/shm目录的读写权限即可。
如果“No space left on device”是由于并发数过多导致的,检查并发数量,降低并发数。

其它gcadmin报错信息,请参考

GBase 8a 集群故障自助查询-gcadmin类