В версии Oracle 10g появился механизм Automatic Shared Memory Management - ASMM, а в Oracle 11g - уже AMM - Automatic Memory Management, позволяющий автоматически управлять компонентами SGA и PGA.
При попытке перейти с ASMM на AMM у меня возникла следующая ошибка:
SQL> startup open
ORA-00845: MEMORY_TARGET not supported on this system
Для лечения смотрим alert.log:
WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 16911433728 bytes. /dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current available is 12639367168 and used is 0 bytes. Ensure that the mount point is /dev/shm for this directory.
Проверяем размер /dev/shm:
#df | grep /dev/shm
tmpfs 12639367168 0 12639367168 0% /dev/shm
и правда размер меньше, чем выставлен в MEMORY_TARGET.
Меняем:
mount -t tmpfs tmpfs -o size=16911433728 /dev/shm
и прописываем в /etc/fstab, чтобы восстановилось при перезагрузке:
# cat /etc/fstab|grep /dev/shm
tmpfs /dev/shm tmpfs size=16911433728 0 0
Проблема решена.