DBAtlas · 데이터베이스 운영 아틀라스

ORA-27102: out of memory

Oracle

의미

시작 중에 Oracle 인스턴스가 운영체제에 요청한 공유 메모리(SGA) 세그먼트를 할당하지 못했다. 보통 ORA-27102 및 하위 수준 OSD/Linux 오류 코드(예: Linux-x86_64 Error: 28: No space left on device)와 함께 나타난다.

원인

SGA에 요청한 메모리가 커널의 공유 메모리 한도(shmmax, shmall)를 초과하거나, 서버의 물리 RAM/swap이 부족하거나, HugePages 구성이 없거나 부족해 큰 SGA를 할당할 수 없는 경우다. SGA_MAX_SIZE를 늘린 후에 흔하다.

해결 방법

커널 공유 메모리 파라미터를 늘린다: /etc/sysctl.conf에서 kernel.shmmax와 kernel.shmall을 SGA를 수용하도록 설정하고 sysctl -p를 실행한다. HugePages를 사용한다면 SGA를 기준으로 vm.nr_hugepages를 계산해 설정한다. 서버의 전체 RAM과 swap을 확인하고, 필요하면 SGA_MAX_SIZE / SGA_TARGET을 낮춘다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목