-ignorePrereq 参数需以管理员身份在CMD/PowerShell中运行,且路径不能含中文、空格或特殊字符;双击启动会丢弃参数,非管理员权限或错误语法(如--ignorePrereq)亦导致失效。

直接用 -ignorePrereq 参数最省事,但必须以管理员身份在 CMD 或 PowerShell 中运行 setup.exe -ignorePrereq,且路径不能含中文、空格或特殊字符——否则参数完全不生效。
为什么 -ignorePrereq 有时不生效
不是参数失效,而是执行环境错了。常见真实卡点:
- 双击
setup.exe图形启动:它会另起一个无参子进程,命令行参数被丢弃 - 非管理员权限运行 CMD/PowerShell:安装器读不到系统信息,可能转而报
INS-320等新错误 - 路径含中文或空格(如
C:\我的软件\database\):JVM 启动失败,-ignorePrereq被静默忽略 - 写成
--ignorePrereq(双横线)或加引号:"setup.exe -ignorePrereq",语法无效
想只关操作系统检查,保留内存/磁盘等其他校验
用 -J 传 JVM 参数更精准,但检查项名必须一字不差:
- 关 Windows 版本检查:
setup.exe -J"-Doracle.install.db.validate.supportedOSCheck=false" - 同时关内存检查:
setup.exe -J"-Doracle.install.db.validate.supportedOSCheck=false" -J"-Doracle.install.db.validate.memoryCheck=false" -
supportedOSCheck不能拼成supportOSCheck或osCheck,大小写和驼峰都需严格匹配 - Oracle 12c 对该方式支持更稳;11g 某些补丁版本可能忽略,建议优先试
-ignorePrereq
修改 cvu_prereq.xml 是一劳永逸方案,但细节决定成败
文件路径固定为 database\stage\cvu\cvu_prereq.xml,编辑时注意:
- 必须加在
<certified_systems></certified_systems>标签内部,不能放在外面或注释里 - Windows 10 对应
RELEASE="6.2"(不是 "10.0"),NAME VALUE="Windows 10"中的空格不能少 - 架构要跟安装包一致:64 位 Oracle 就写
ARCHITECTURE VALUE="64-bit",32 位则改32-bit - 保存时用 UTF-8 无 BOM 编码,否则可能因乱码导致解析失败
- 修改前先备份原文件,杀毒软件可能拦截写入,临时关闭实时防护更稳妥
真正容易被忽略的是:这些方法都只绕过「是否被官方认证」这一层静态检查,不解决 JDK 版本缺失、用户权限不足、服务端口被占等运行时问题。装完启动监听器或建库失败,得另查日志,别默认归咎于 INS-13001。


















