GBase 8a
适配迁移
文章
GBase 8a查询日志报错 Can't open file (errno:24) Too many open file
GBase社区管理员发表于2021-01-11 16:29:0231次浏览0个评论
操作系统有限制用户能打开的最大文件数,如果GBase 8a数据库用户打开的文件数量超过了,则会触发操作系统报错24。包括Can't open file (errno:24)和Error in accept: Too many open file。
报错样例
下图是一个报错样例图。

原因
进程打开的文件数量超过了操作系统给用户设定的允许的最大值。
排查
查看系统设定值
在操作系统数据库dba用户下,一般是gbase用户,执行。
ulimit -a
或者
ulimit -n
如下是一个输出,设置值是10万个。而GBase 8a建议值是655360个。

查看当前打开的句柄
通过 /proc/进程ID/fd查看,比如查看gbased进程打开的文件句柄
ls -l /proc/`pidof gbased`/fd
如下是一个现场输出,已经超过了设定值

解决方案
修改系统的最大文件数配置,建议还是655360个。修改方案请联系安全加固人员或者搜素引擎搜索。
一般请排查如下几个位置
/etc/security/limits.conf /etc/security/limits.d/XXXX.conf /etc/profile /home/gbase/.bash_profile /home/gbase/.bashrc
如果文件系统报错,有可能导致数据库占用大量文件句柄,建议先维修文件系统。
如果文件系统没问题,而数据库使用了655360个句柄,那就很有可能是数据库BUG了。将已经使用的fd信息发回进行排查。
评论已关闭
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25052
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526