可使用./runinstaller -ignoreprereq跳过全部先决条件检查,该参数适用于oracle 12c图形化安装器,能绕过内存、swap、内核参数、软件包依赖等校验,但不跳过用户组、目录权限、环境变量等基础配置要求。

安装时遇到“Prerequisite checks failed”错误怎么办
Oracle 12c 图形化安装器(runInstaller)默认会严格校验内存、swap、内核参数、包依赖等先决条件。只要某一项不满足(比如 swap 实际是 16GB,但官方推荐 35GB),就会中断并报错 Prerequisite checks failed —— 这不是致命错误,而是可绕过的提示。
使用 -ignorePrereq 跳过全部检查
最直接有效的方式是在启动安装器时加参数:./runInstaller -ignorePrereq。它会跳过所有预检项,包括:
-
Available memory和Swap space不足 -
Package missing(如libaio-devel未装) -
Kernel parameter未生效(如kernel.shmmax值偏低) -
SELinux未禁用或firewalld正在运行
⚠️ 注意:-ignorePrereq 是全局跳过,不区分严重性。它不会跳过必须的用户/组创建、目录权限、环境变量等基础配置 —— 那些仍需手动完成,否则安装中途仍会失败。
仅忽略特定检查项(-ignoreSysPrereqs)
如果你只想跳过系统级检查(如内核参数、swap、包依赖),但保留对 Oracle 用户、目录权限等关键项的校验,用:./runInstaller -ignoreSysPrereqs。这个参数比 -ignorePrereq 更克制,适用场景是:你已确认硬件和 OS 配置实际可用,只是参数值略低于 Oracle 的“推荐值”(例如 vm.swappiness=10 被判为不达标,但业务无影响)。
常见组合用法:
- 静默安装时:
./runInstaller -ignorePrereq -silent -responseFile /path/to/db_install.rsp - 图形界面中临时调试:
./runInstaller -ignoreSysPrereqs -jreLoc /usr/java/jdk1.8.0_201(避免 Java 路径检测失败)
为什么不能只点“Ignore All”按钮就完事
图形界面里点击 Ignore All 看似省事,但它只作用于当前页面的检查结果,且有隐藏限制:
- 某些检查(如
/tmp空间不足)被忽略后,后续解压阶段仍可能因磁盘写入失败而崩溃 - 若
limits.conf中nofile或nproc设置过低,数据库实例启动时会报ORA-27123,此时忽略前置检查毫无意义 - GUI 安装器在切换页面或重载检查时可能重新触发校验,导致反复弹窗
真正稳的做法是:先确保 oracle 用户能登录、ORACLE_HOME 目录可写、ulimit -n ≥ 65536、sysctl -p 已生效;再用 -ignorePrereq 启动,避免 GUI 干扰。
最易被忽略的是 limits.conf 配置未对 oracle 用户 session 生效 —— 即使文件改了,也得重新 su - oracle 或重启终端,否则 runInstaller 读到的仍是旧 limit。











