I’ve been testing some new kernel tunings for Oracle databases the last few days, and experienced the odd error “error: unknown error 22 setting key ‘kernel.shmall’” when trying to sort out shared memory. Even more bizarre was the fact the setting was actually being set just fine.
After Googling a bit I couldn’t fathom out what this error meant or what was really wrong. So I did a quick strace on a ‘sysctl -p’. Bingo.
I had a comment at the end of the line in sysctl.conf! It was that simple. Move the comment to the line above, et voila, no whining!
I can’t figure out if the database needs to be bounced after applying shared memory changes with ‘sysctl -p’ as root. I have a production system I really don’t want to bounce but if that’s what it takes to get some semblance of correct parameters in there then I will.
Also, do you have any reference for what we should be setting ALL of these parameters to? Oracle Installation Guide for XXG on Linux defines the parameters and gives you minimum values. It does recommend one but that’s it (and a rough recommendation of half of your physical memory).
Thank you for the find, it was most helpful!