vmware中centos虚拟机启动oracle:超出内存
问题
遇到ORA-27102: out of memory
这个问题大多是需修改shmall参数,但如果主机内存较小的话,内存容易被全部占满:
可以看到,内存和交换区已经被全部沾满了,因此oracle数据库无法挂载
解决:给主机扩容,我是从4G扩容到8G,重启oracle
交换区swap
交换区:
- LINUX中应用的虚拟内存技术,就是在硬盘中用专门一个磁盘分区来建立虚拟内存
- Windows中虚拟内存是通过在磁盘的某个分区建立页面文件实现的
不同的操作系统如Ubuntu、centos对交换区都有不同的交换区大小设置,如红帽交换区设置:
- 物理内存在2G或以下,swap空间设置为物理内存大小的2倍
- 物理内存在2-8G,则swap设置为与物理内存一样大。
- 如果物理内存在8G以上,swap空间至少4G(按照上面规律,可能物理内存大小的0.5倍)。
- 当物理内存大于64G时,swap空间至少4G(按照上面规律,可能物理内存大小的0.25倍),不建议开启休眠功能。
交互区设置越大,速度越大,高并发数据库服务器可不设置swap