Oracle数据库问题已解决:ORA-2730x OS Failure Message: No Buffer Space Available
Posted Lucifer三思而后行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库问题已解决:ORA-2730x OS Failure Message: No Buffer Space Available相关的知识,希望对你有一定的参考价值。
作者简介
- 作者:LuciferLiu,中国DBA联盟(ACDU)成员。
- 目前主要从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。
- 现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。
前言
- 今天巡检遇到数据库报错 ORA-2730x 错误,数据库版本为Oracle 11204 (x86_64),错误日志如下:
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:sendmsg failed with status: 105
ORA-27301: OS failure message: No buffer space available
ORA-27302: failure occurred at: sskgxpsnd2
关键词:ORA-2730x、status: 105、sskgxpsnd2。
一、问题分析
1 通过Oracle oerr工具查看错误代码
可以发现,ORA-2730x 显示是OS系统层面的错误。
2 通过查询MOS文档,发现该错误相符合的文档
- Troubleshooting ORA-27300 ORA-27301 ORA-27302 Errors (Doc ID 579365.1)
- Oracle Linux: ORA-27301:OS Failure Message: No Buffer Space Available ( Doc ID 2041723.1 )
- ORA-27301: OS Failure Message: No Buffer Space Available / ORA-27302: failure occurred at: sskgxpsnd2 Source Script ( Doc ID 2322410.1 )
根据文档提示:这是因为可用于网络缓冲区预留的空间较少。可通过修改 vm.min_free_kbytes 参数和 MTU 来修复。
二、解决方案
- 关闭数据库和集群
srvctl stop database -d orcl
- 修改MTU参数
ifconfig lo mtu 16384
或者:
- 以下命令修改可以使server重启后也生效
cat <<EOF>>/etc/sysconfig/network-scripts/ifcfg-lo
MTU=16384
EOF
- 重启网络使其生效,对于 crs 运行的server,需要关闭 crs,重启网络。或请在维护时间窗口,设置2 里的参数后,重启服务器。
service network restart
- 修改系统参数vm.min_free_kbytes
##设定 vm.min_free_kbytes 参数为物理内存的0.4%
##本机内存大小为131357180 Kb,则配置参数大小为131357180*0.4%≈525429
cat <<EOF>>/etc/sysctl.conf
/etc/sysctl.conf
EOF
##生效
sysctl -p
- 重启主机
reboot
注意:需要数据库停机进行操作。
参考MOS文档:
- Bug 20250147 - ORA-600 [kjxmgmb_nreq:!bat] can occur in RAC crashing the instance (Doc ID 20250147.8)
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
技术交流可以 关注公众号:Lucifer三思而后行
以上是关于Oracle数据库问题已解决:ORA-2730x OS Failure Message: No Buffer Space Available的主要内容,如果未能解决你的问题,请参考以下文章
Oracle数据库问题已解决:ORA-04030 私有内存超出
Oracle数据库问题已解决:ORA-04030 私有内存超出
oracle11G 已开启监听,但远程连接依旧无监听解决过程