DBCA创建实例时ORA-27102: out of memory
原因:
在大内存的情况下,kernel.shmmax/kernel.shmall参数设置得太小了。
The reason this problem is occuring is because when you have large memory
installed on the server and a large segment of this memory is unused, the
Oracle Database Configuration Assistant will pick a percentage (roughly 30%) of
your unused memory and swap spaces and calculate the SGA to use those 30% of
this unused space. This calculated percentage may exceed your server hardware
capabilities and may even exceed your requirement on the newly created database.
这个问题发生的原因是当你有很大的内存时,并且该内存的很大一部分未使用,Oracle数据库配置助手(DBCA)将选择你的未使用的内存和交换空间的一个百分比(大约30%)使用,并使SGA使用这些未使用空间中的30%。这个计算百分比可能超过您的服务器硬件功能,甚至可能超过您对新创建的数据库的需求。
所以当服务器内存是1T时,而kernel.shmmax只设置成64G,那有约960GB空间未使用(不考虑其它内存损耗),则默认情况下要有960GB的30%=288GB给SGA使用,而共享内存才设置成了64GB,那当然会提示内存不足。
SHMMAX参数:Linux进程可以分配的单独共享内存段的最大值。
SHMALL参数:设置共享内存总页数。
参考:
ORA-27102: out of memory when Creating Database using Oracle Database Configuration Assistant (Doc ID 125118.1)