SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
检查
1、操作系统内存大小
2、查看限制/etc/sysctl.conf 中的如下值,可见是由于kernel.shmall值设置太小导致。
注意:
对于32位系统,一页=4k,也就是4096字节
kernel.shmall = 4096 就是 4096*4k/1024/1024 = 15M 就是说可用共享内存一共 15M,数据库当然会起不来啦。
原值为 kernel.shmall = 4096
设置的一般规律
kernel.shmall = 2097152 ---内存8G
kernel.shmall = 4194304 ---内存16G
kernel.shmall = 8388608 ---内存32G
kernel.shmall = 10485760 ---内存40G
kernel.shmall = 12582912 ---内存48G
kernel.shmall = 14680064 ---内存56G
kernel.shmall = 16777216 ---内存64G
kernel.shmall = 20971520 ---内存80G
kernel.shmall = 25165824 ---内存96G
kernel.shmall = 33554432 ---内存128G
kernel.shmall = 50331648 ---内存192G
kernel.shmall = 67108864 ---内存256G
3、修改为如下
kernel.shmall = 8388608
4、后执行如下命令,再次启动数据库就可以了
/sbin/sysctl -p