环境:
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 84500845, 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
再次启动数据库,成功。