数据库启用了AMM,动态调整SGA和PGA。
启动库时候发现,系统提示ORA-00845: MEMORY_TARGET not supported on this system
检查数据库参数和系统内存,,发现都是够用的
如果是系统内存不够用,肯定是要修改memory_target。
但显然不是,那么根据官方文档就只能是另外一个原因了,shm大小不足。
通过以下命令:mount-o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm多次调整后终于启动成功:
这个命令只是临时修改的,要永久修改得需要修改/etc/fstab
tmpfs /dev/shmtmpfs defaults,size=1.9G 0 0
#mount-o remount /dev/shm
不过相信企业的数据库也不是经常起停的,不容易遭遇这个问题。当然解决这个问题的方案肯定是多样的,调整memory_target的值,相信也是极好的。不过我觉得最简单的还是修改下shm大小。
原因探析:因为Oracle的amm技术就是用到的shm,所以shm大小至少要大于memory_target。。。。。然后shm默认为内存大小的一半,所以调整memory_target or memory_max_target的时候一定要注意调整/dev/shm的大小。