ORA-27302

APPLIES TO

Operating System - Oracle Linux Server 7.9
Oracle Database - Enterprise Edition - version 12.1.0.2.0
Oracle Grid Infrastructure - version 12.1.0.2.0

SYMPTOMS

节点 2 alert_+ASM2.log 日志文件持续出现如下错误:

Tue Mar 29 07:31:25 2022
skgxpvfynet: mtype: 61 process 4632 failed because of a resource problem in the OS. The OS has most likely run out of buffers (rval: 4)
Errors in file /u01/app/grid/diag/asm/+asm/+ASM2/trace/+ASM2_m000_4632.trc (incident=179220):
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
opidrv aborting process M000 ospid (4632) as a result of ORA-603
Process m000 died, see its trace file

CAUSE

This happens due to less space avaliable for network buffer reservation.

SOLUTION

  1. Shrink database instance SGA size to give more memory back to OS. After OS gets more available memory, the issue is gone.

  2. Oracle has reported this issue in Doc ID 2041723.1. by changing the MTU of the loopback interface,  and changing the value of kernel parameter min_free_kbytes.

    a) Lower MTU to 16436 by adding following to /etc/sysconfig/network-scripts/ifcfg-lo.

    echo "MTU=16436" >> /etc/sysconfig/network-scripts/ifcfg-lo

    Then restart the network service.

    systemctl restart network.service

    b) Increase the value of vm.min_free_kbytes to 0.4% of the total physical memory of the server. This can be done by adding following to /etc/sysctl.conf.

    echo "vm.min_free_kbytes = 2097152" >> /etc/sysctl.conf

    and then run below command to make it effective:

    sysctl -p