ORA-00845: MEMORY_TARGET not supported on this system (이 시스템에서 MEMORY_TARGET 미지원)
Oracle의미
MEMORY_TARGET / MEMORY_MAX_TARGET으로 요청한 자동 메모리 관리를 운영체제의 공유 메모리 구성이 지원하지 않아 인스턴스를 시작할 수 없다. Linux에서는 보통 /dev/shm이 요청한 메모리 대상보다 작기 때문이다.
원인
MEMORY_TARGET이 /dev/shm(tmpfs로 마운트)보다 크게 설정되었거나, HugePages가 활성화된 상태에서 MEMORY_TARGET(AMM)을 사용한 경우다. AMM은 HugePages와 호환되지 않지만 ASMM(SGA_TARGET)은 호환된다. Oracle Automatic Memory Management는 /dev/shm에 파일을 생성하는 방식으로 동작하므로 이 공간이 부족하면 인스턴스가 시작되지 않는다.
해결 방법
/dev/shm을 MEMORY_TARGET보다 크게 만든다: tmpfs를 다시 마운트하고(mount -o remount,size=8G /dev/shm) /etc/fstab에 영구 반영한다. 또는 AMM 대신 개별 설정을 사용한다: MEMORY_TARGET과 MEMORY_MAX_TARGET을 0으로 설정하고 SGA_TARGET과 PGA_AGGREGATE_TARGET을 정의한다. HugePages를 사용한다면 AMM을 비활성화하고 ASMM(SGA_TARGET)을 사용한다.
같은 데이터베이스의 다른 항목
- ORA-12520TNS:listener could not find available handler for requested type of server (리스너가 요청한 서버 유형의 핸들러를 찾지 못함)
- ORA-28001the password has expired
- ORA-38029object statistics are locked
- ORA-27102out of memory
- ORA-04030out of process memory when trying to allocate N bytes (N바이트 할당 중 프로세스 메모리 부족)
- ORA-12537TNS:connection closed
- ORA-03135connection lost contact