ORA-27102: handling of outofmemory errors
 
Problem description:
 
Originally, SGA 4G and PGA 2G.
 
Alter system set sga_max_size = 30G scope = spfile;
 
Alter system set sga_target = 30G scope = spfile;
 
After,
 
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
Start again
 
SQL> startup
ORA-27102: out of memory
Linux-ia64 Error: 28: No space left on device
 
Solution:
 
(1)Getconf PAGE_SIZE in linux
16384 = 8 K
 
Indicates that the size of a page in the virtual memory is 8 KB.
 
(2)View cat/proc/sys/kernel/shmall
 
524288
 
Indicates that a maximum of 524288 pages are allowed to be shared.
 
(3) Calculate the page that can be shared:
 
524288*(16384/1024)/1024/1024 = 8G
 
No error is reported because SGA + PGA = 6G <8G. After sga = 30g is modified, ORA-27102: out of memory is reported only when the instance is started
Linux-ia64 Error: 28: No space left on device
 
(4)Change the shared memory to 128 GB.
 
128x1024*1024/8 K = 8388608
 
In linux: echo "8388608">/proc/sys/kernel/shmall
 
(5)Startup again. The instance can be started.