Legacy/Oracle DBMS

[ORACLE] ORA-27106 : system pages not available to allocate memory

learndba 2025. 3. 7. 14:16
OS : Oracle Linux Server 8.8 
DB : Oracle Database 19.22 EE 
Environment : VM

 

Startup시에 ORA-27106 에러를 발생시키며 올라오지 않는 현상을 확인하였다. 확인해보니 메모리가 부족해서 발생한 에러였음.

전체적인 물리메모리가 8G, 오라클 sga_max_size가 2G , swap space는 정상적으로 설정되어있으나 , hugepage설정이 이상하게 되어있어서 free -m으로 검색했을 때 swap used가 0G 였었다.

 

1. 현재 설정된 Hugepagesize 확인

$ grep Hugepagesize /proc/meminfo

 : 해당 서버의 경우는 1384로 나옴

 

2. 적절 Hugepagesize 확인하는 법

( sga_max_size/ Hugepagesize ) * 1.2 으로 설정해야하며, sga_max_size보다 20%크게 설정되어있어야하다.

(단, OS 물리메모리보다는 작아야한다.)

: sga_max_size 크기가 2304m 이므로, 계산해보면 2764m 정도는 되어야 hugepage를 사용 가능.

 

3. 설정된 값 확인 

$ sysctl -a | grep "vm.nr_hugepages"

vm.nr_hugepages =1384
vm.nr_hugepages_mempolicy  =1384

$ grep "vm.nr_hugepages" /etc/sysctl.conf 

vm.nr_hugepages =1384

 

 

4. hugepage 변경 후 
: 변경을 4G로 요청드렸는데, 물리메모리사이즈가 크지 않아 2G까지만 채워지는 것을 확인 하였음.
grep hugepagesize /proc/meminfo 로 조회했을 때 2048까지 올라오고 swap space도 사용하는 것을 확인하였다.
startup시에도 정상적으로 기동 완료. hugepage가 없으면 기동이 안될 수도 있는 부분 체크가 필요하다.