#環境
- OS RHEL7 3.10.0-514.26.2.el7.x86_64
- Oracle Grid Infrastructure 12.1.0.2.0
- Oracle Database 12c 12.1.0.2.0
#エラー内容
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 28: No space left on device
#解決方法
SHMALLの値を修正する
以下はメモリ20Gの例
$ cat /proc/sys/kernel/shmmax
26843545600
What wrong with my kernel tuning... So, I checked metalink (301830.1) and some recommend from RHEL
They told; set SHMALL to the total amount of physical RAM divided by page size.
SHMALL =>Total amount of shared memory available (bytes or pages)
then:
Check Page Size:
$ getconf PAGE_SIZE
4096
Determine the system wide maximum number of shared memory pages:
$ cat /proc/sys/kernel/shmall
2097152
My system 64bits with memory 32GB, then 1024 * 1024 * 1024 * 32 / 4096 = 8388608
※適宜メモリの容量にて値を修正すること
So, change kernel.shmall = 8388608
$ su - root
# echo 8388608 > /proc/sys/kernel/shmall
Or modify /etc/sysctl.conf file:
kernel.shmall=8388608
and
# sysctl -p
After changed... check and startup database again:
$ cat proc/sys/kernel/shmall
8388608