Oracle not being exactly my turf, I ran into this last week. After some patching and reboot of RHEL 5.9 server, Oracle DB failed to start. So, I took a peek inside /opt/oracle/product/11.2.0/db_1/startup.log and found this:
ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device SYS@PRD001 > Disconnected
Lovely. Unfortunately, no DBA was around so I had to do some searching. Thankfully I came across <a title=”ORA-27102: out of memory and Linux-x86_64 Error: 28: No space left on device when changing the SGA” this page that pretty much fit my case.
[root@db0001 db_1]# getconf PAGE_SIZE 4096 [root@db0001 db_1]# sysctl -a | grep shmall kernel.shmall = 5243392
Going by the suggestion from the above link shmall for my server with 32GB of memory should be: 1024 * 1024 * 1024 * 32 / 4096 which comes to 8388608. This was clearly at odds with what sysctl reported. So…
[root@db0001 db_1]# sysctl kernel.shmall=8388608
After that database startup was successful. Of course, I corrected the parameter in /etc/sysctl.conf so it persists across reboots.
Later I found out whose handy work the incorrect value was… No, it was not me…