通过桌面安装Oracle在分配SGA的时候报如下错误:
[INS-35172] Target database memory (XXMB) exceeds the systems available shared memory ({0}MB)
一开始一直以为是系统参数分配不足导致的,检查/etc/sysctl.conf中的如下参数
kernel.shmall = 2097152 # 共享内存页数 shmmax/4096
kernel.shmmax = 8589934592 # 最大的共享内存段
kernel.shmmni = 4096 # 内核共享段的最大数值
发现没有作用,查看了一下free 也是足够大的,那么systems available shared memory到底是指什么,查看了一下分区df -h发现tmpfs的值恰好是与上述值相同,说明tmfs指的就是可用的共享内存。
在/etc/fstab下找到该内容,增加size定义共享内存大小
tmpfs /dev/shm tmpfs defaults,size=10G 0 0
: