ORA-00845: MEMORY_TARGET not supported on this system
OracleЧто это значит?
Экземпляр не может запуститься, так как автоматическое управление памятью, запрошенное через MEMORY_TARGET / MEMORY_MAX_TARGET, не поддерживается конфигурацией общей памяти операционной системы. В Linux обычно это происходит потому, что /dev/shm меньше запрошенного целевого объёма памяти.
Почему возникает?
MEMORY_TARGET задан больше, чем /dev/shm (смонтированный как tmpfs); либо MEMORY_TARGET (AMM) используется при включённых HugePages; AMM несовместим с HugePages, а ASMM (SGA_TARGET) совместим. Автоматическое управление памятью Oracle работает путём создания файлов в /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).