前言
今天巡检遇到数据库报错 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 文档
通过查询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 来修复。
二、解决方案
官方 MOS 文档提供了详细的解决方案:
完整操作步骤:
1、关闭数据库和
集群
1 | |
2、修改MTU参数
1 | |
或者:
以下命令修改可以使server重启后也生效
1 | |
3、重启网络使其生效,对于 crs 运行的server,需要关闭 crs,重启网络。或请在维护时间窗口,设置 2 里的参数后,重启
服务器
。
1 | |
4、修改系统参数 vm.min_free_kbytes
1 | |
5、重启主机
1 | |
📢 注意: 需要数据库 停机 进行操作!
参考MOS文档:
Bug 20250147 - ORA-600 [kjxmgmb_nreq:!bat] can occur in RAC crashing the instance (Doc ID 20250147.8)


