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가 없으면 기동이 안될 수도 있는 부분 체크가 필요하다.