Tuesday 6 April 2021

ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device Error

 Yesterday when i am doing RMAN cloning to a different server then i got below error:

ORA-27102: out of memory Error: 

RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-04014: startup failed: ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
Additional information: -67108864
Additional information: 1

Solution:
Check the page size:
#getconf PAGE_SIZE
4096
Check the shmall value:
#cat /proc/sys/kernel/shmall
2097152
 
Calculate proper value for shmall:
The value of shmall should be:
Shmall=total size of the SGAs on the system/page size.
Let’s assume the size of the SGA is 16GB in the system then it would be 1024*1024*1024*16 /4096 = 4194304
 
Change shmall in /etc/sysctl.conf
vi /etc/sysctl.conf   
kernel.shmall = 4294967296
Apply the changes:
# sysctl -p  
check shmall value after change
# sysctl -A | grep shmall
4294967296

The solution was to increase kernel.shmall from 2097152(default value) (as it is in the install doc for oracle 10h and oracle 11g) to 4194304. Probably is better to leave the RHEL5 default which is 4294967296.