场景描述:我在自己电脑的虚拟机上linux环境下安装oracle11g数据库。

Linux版本为CentOS release 6.8 (Final),Oracle版本为:linux.x64_11gR2

问题描述:在oracle安装到Prerequisite Checks这一步的时候,出现两个问题。一个是swap size检查失败,一个是Packages检查失败。关于Packages依赖包检查失败的问题将在下一篇博客进行细述。

错误截图

由错误截图可知,oracle在安装过程中进行检查系统环境的时候,关于swap(交换分区)的大小预期为3.74G,而系统实际上只有1.94G。

因此我们需要增加大约2G的系统swap才符合oracle的要求。


-----------------------百度百科关于 swap的解释----------------------------------------

swap:Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。
交换分区,英文的说法是swap,意思是“交换”、“实物交易”。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

----------------------------------------------------------------------------------------------------

解决办法:增加大约2G左右的swap!

步骤如下

1、使用root用户,在/tmp(随意),下执行下面语句
dd if=/dev/zero of=swapfree bs=32k count=65515

(增加swap大小为bs*count,bs为block,count为数量)


上图可以看出,通过这个语句创建了一个2G的文件swapfree
2、将创建的文件用做交换分区
执行语句:mkswap swapfree


3、开启这个交换空间
执行语句:swapon swapfree
4、通过free命令查看,交换空间在原来交换空间的基础上增加了2G


5、在/etc/fstab中加入下面两行,设置此交换分区开机启动
/dec/hdb5 swap swap defaults 0 0
/tmp/swapfree swap swap defaults 0 0

设置完成后,在oracle安装界面点击check again,错误提示消失。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐