DBAtlas · Atlas de operações de banco de dados

ORA-00845: MEMORY_TARGET not supported on this system (MEMORY_TARGET não é suportado neste sistema)

Oracle

O que significa?

A instância não consegue iniciar porque o gerenciamento automático de memória solicitado via MEMORY_TARGET / MEMORY_MAX_TARGET não é suportado pela configuração de memória compartilhada do sistema operacional. No Linux, geralmente isso ocorre porque /dev/shm é menor que o alvo de memória solicitado.

Por que acontece?

MEMORY_TARGET está definido com valor maior que /dev/shm (montado como tmpfs); ou MEMORY_TARGET (AMM) é usado com HugePages habilitado; o AMM não é compatível com HugePages, ao passo que o ASMM (SGA_TARGET) é. O Automatic Memory Management do Oracle funciona criando arquivos em /dev/shm e, se esse espaço for insuficiente, a instância não inicia.

Como resolver

Torne /dev/shm maior que MEMORY_TARGET: remonte o tmpfs (mount -o remount,size=8G /dev/shm) e torne a alteração persistente em /etc/fstab. Como alternativa, use configurações separadas em vez do AMM: defina MEMORY_TARGET e MEMORY_MAX_TARGET como 0 e defina SGA_TARGET e PGA_AGGREGATE_TARGET. Se usar HugePages, desabilite o AMM e prefira o ASMM (SGA_TARGET).

Abrir no DBAtlas →

Mais entradas deste banco