ORA-02720: osnfop: shmat failed
Cause: When the fast driver was invoked, processes failed to attach to the shared memory buffer. You probably supplied an illegal shared memory attach address, or the system ran out of data space to accomodate the buffer.
Action: Try invoking the Fast driver later, or use the default attach address.
ORA-02720是一个 Oracle 数据库错误,指出shmat()函数调用失败。shmat()函数允许一个进程分配并访问共享内存。
1.检查Linux内核参数中,是否有相关共享内存参数设置,如果没有剪贴就重新设置;
2.检查SHMMAX参数值是否太低,SHMMAX参数默认值是32GB,如果值太低可以根据服务器的大小调整到合适的值;
3.检查是否存在内存泄漏,应尽可能避免内存泄漏;
4.检查已分配的共享内存是否有误,如果有的话,删除已分配的共享内存,释放系统资源;
5.查看/etc/sysctl.conf文件,查看系统是否有僵尸进程,如果存在,则需要更改或者删除共享内存参数;
6.更新Linux系统资源配置,应尽可能分配更多的系统资源;
7.检查是否存在Oracle数据库进程共享内存问题,新建一个共享内存,并将其重命名;
8.重新设置共享内存的大小,以便使数据库访问它更加高效;
9.检查kernel参数settings,看是否设置的太低,如果是的话,需要重新调整kernel参数来提高资源分配。