这个问题在linux到位中比较常见,当SGA的值大于共享内存就会报这个错,共享内存在shmall这个参数中设置,shmall单位为页,换算
操作系统版本: Linux 位
数据库版本:任何版本
问题描述
修改数据库参数后启动数据库报错
SQL> startup nomount
ORA-27102: out of memory
Linux-x86_ Error: 28: No space left on device
解决方案
这个问题在linux到位中比较常见,当SGA的值大于共享内存就会报这个错
共享内存在shmall这个参数中设置,shmall单位为页,换算成内存大小还需要把两个值相乘,,如shmall=4194304,那么共享内存的大小就是(4194304*4096)/(1024*1024*1024)=16G
1.获得shmall的方式如下
# cat /proc/sys/kernel/shmall
4194304
2.我们可以通过/etc/sysctl.conf文件中kernel.shmall的值来调整共享内存大小
[root@svr28-167 ~]# vi /etc/sysctl.conf
kernel.shmall= 8388608
3.我们可以通过下面命令得到分页大小,默认是4Kb
$ getconf PAGE_SIZE
4096
4.修改完之后没忘记让它立即生效并确认
# sysctl -p
# cat /proc/sys/kernel/shmall
8388608
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务