环境:
RHEL  6.2  x64
Oracle 11.2.0.1.0
Memory  4G
MEMORY_TARGET=1584M
/dev/shm  2G


将MEMORY_TARGET调整为2048M后,重启数据库报错

ORA-00845: MEMORY_TARGET not supported on this system


oerr ora 845

00845, 00000, "MEMORY_TARGET not supported on this system"
// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.


   这是由于MEMORY_TARGET设置大于/dev/shm,在11g中Oracle引入了MEMORY_TARGET参数管理内存,但这个参数不能大于/dev/shm,否则会报错,Oracle在metalink的文档:Doc ID:Note:460506.1中进行了说明。


解决方法:

1、调整MEMORY_TARGET的大小,使其小于/dev/shm
2、调整/dev/shm的大小,使其大于MEMORY_TARGET


因之前没有做spfile的备份,只能修改/dev/shm的大小,修改如下

vi /etc/fstab
tmpfs                   /dev/shm               tmpfs   defaults        0 0
改为
tmpfs                   /dev/shm               tmpfs   defaults,size=4096M        0 0
保存退出。
umount /dev/shm
mount /dev/shm
再次启动数据库,成功。