When starting up the database with increased values for sga_max_size and sga_target, you hit
SQL> startup ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device Additional information: 1543503872 Additional information: 1
Solution:
Increase the value of shmall as well. Shmall indicates the total amount of shared memory that the system can use at one time (measured in pages).
To find the page size:
getconf PAGE_SIZE 4096
Make sure that the shmall is larger, not identical, than the setting of your SGA.
For example, if you want a 12G SGA, do not set shmall to 3145728 which would be the number of pages for 12G
Set it to a value larger instead, for example 3670016, which is the number of pages equivalent to 14G:
3670016*4096=15032385536 15032385536/1024/1024/1024 = 14G
As root, open /etc/sysctl.conf in an editor.
Search for the string kernel.shmall
Change the value
Save and exit.
Then, still as root, execute
sysctl -p
Check that the new settings are in place:
/sbin/sysctl -a | grep shm
The database should now be possible to open.
Which value to give for 10 GB. My system RAM is 16 GB, I want to allocate 10 GB. How to calculate and which value need to give in /etc/sysctl.conf
ReplyDeletekernel.shmall =
It was in commented
#kernel.shmall = 4194304
Need to uncomment or not.
The value is 4096 in my system.
Please help to fix out of space issue.