swap大小不达标会导致Oracle 19c图形化安装直接退出;GUI安装器在Prerequisites阶段硬性拦截,报错PRVF-7532,无法进入配置界面。

swap大小不达标会导致Oracle 19c图形化安装直接退出
Oracle 19c安装程序在启动前会校验系统资源,free -h 显示的 Swap 行如果为 0B 或低于最低要求,GUI安装器会在“Prerequisites”检查阶段报错并终止,错误信息类似:PRVF-7532 : Sufficient swap space is not available。这不是警告,是硬性拦截——你甚至看不到数据库配置界面。
CentOS/RHEL 7 和 Oracle Linux 7 的swap推荐值不同
官方文档对不同发行版有隐含差异,实操中不能照搬同一套数值:
- Oracle Linux 7.9(OEL):官方明确要求
swap >= 16G(尤其带GUI安装时),且生产环境普遍配到32G - CentOS 7.x:多数教程写“等同内存”,但实际安装中常因内核参数或GUI内存占用触发失败;建议按
min(16G, RAM)配置,避免踩坑 - CentOS 8:必须 ≥
4G,否则安装过程卡在setup.sh阶段,报错swap space too small for GUI mode
注意:无论哪种系统,swap 必须是独立分区(mkswap /dev/sdb1)或命名规范的交换文件(如 /swapfile),不能用 LVM 逻辑卷直接启用(swapon /dev/vg01/lv_swap 会被拒绝)。
用dd创建swapfile时权限和挂载顺序容易出错
临时扩容最常用方式是建 /swapfile,但以下三步缺一不可,且顺序不能颠倒:
- 先
sudo dd if=/dev/zero of=/swapfile bs=1G count=16(大小按需调整) - 立刻
sudo chmod 600 /swapfile(漏掉这步,swapon会报insecure permissions) - 再
sudo mkswap /swapfile && sudo swapon /swapfile(mkswap必须在swapon前执行,否则无效) - 最后追加到
/etc/fstab:echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab,并运行sudo mount -a验证是否持久生效
常见误操作:用 touch /swapfile 创建空文件后直接 mkswap —— 这样生成的 swap 区域无实际空间,free -h 看起来正常,但安装时仍失败。
preinstall包不会自动创建或扩容swap
oracle-database-preinstall-19c 包只改内核参数、用户限制和目录权限,它完全不碰swap配置。即使你已装好这个包,仍需手动确认 free -h 输出中 Swap: 行的 total 值达标。有些教程把“装完preinstall就万事大吉”当默认前提,结果在图形界面卡死,排查半天才发现 swap 是 0。
真正关键的检查命令只有这一行:free -h | awk '/Swap:/ {print $2}',输出必须是类似 16G 或 32G,而不是 0B 或 3.9G。


















