INS-13001错误源于Oracle 11g/12c安装器未识别Win10/11或Server 2012R2+系统,可通过setup.exe -ignorePrereq(管理员CMD/PowerShell运行、路径无中文空格)快速跳过前置检查,或修改cvu_prereq.xml添加对应OS条目,亦可用-J"-Doracle.install.db.validate.supportedOSCheck=false"精准禁用操作系统校验。

INS-13001 不是系统真不满足要求,而是 Oracle 11g/12c 安装器不认识 Windows 10/11 或 Server 2012R2+,直接跳过或补上识别项就能继续。
用 -ignorePrereq 快速跳过所有前置检查
这是最省事、实测最稳的方式,尤其适合开发/测试环境快速部署。
- 必须以管理员身份打开 CMD 或 PowerShell(双击
setup.exe无效) - 进入解压后的
database目录,运行:setup.exe -ignorePrereq - 参数不能加引号,也不能写成
--ignorePrereq(双横线无效) - 路径里不能含中文、空格或特殊字符,例如
C:\oracle\win10 install\database\setup.exe会失败 - 该参数只绕过操作系统认证、内核版本、硬件型号等“是否被官方列名”的检查,不跳过 JDK 版本、用户权限、PATH 长度等运行时依赖
修改 cvu_prereq.xml 让安装器真正“认识”Windows 10/11
适合需要保留部分检查(如内存、磁盘空间)的场景,也更符合生产环境谨慎原则。
- 定位文件:
database\stage\cvu\cvu_prereq.xml,先备份原文件 - 在
<CERTIFIED_SYSTEMS>标签内末尾添加一段(注意缩进和闭合):
<OPERATING_SYSTEM RELEASE="10.0">
<VERSION VALUE="3"/>
<ARCHITECTURE VALUE="64-bit"/>
<NAME VALUE="Windows 10"/>
<ENV_VAR_LIST>
<ENV_VAR NAME="PATH" MAX_LENGTH="1023"/>
</ENV_VAR_LIST>
</OPERATING_SYSTEM>
- 若装的是 32 位 Oracle,把
64-bit改成32-bit - Windows 11 用户可同样用
RELEASE="10.0"(Oracle CVU 不区分 Win10/Win11,内核一致);Server 2012R2 及以后也适用 - 保存时若提示权限拒绝,复制文件到桌面修改后再覆盖回去,关闭杀毒软件实时防护可避免拦截
用 -J"-Doracle.install.db.validate.supportedOSCheck=false" 精准关掉 OS 检查
当你只想屏蔽操作系统校验,但想保留内存、交换空间、磁盘等其他检查时用这个。
- 命令示例:
setup.exe -J"-Doracle.install.db.validate.supportedOSCheck=false" - 检查项名必须一字不差:
supportedOSCheck不可简写为osCheck或漏掉supported - 可叠加多个参数,比如同时禁用内存检查:
-J"-Doracle.install.db.validate.supportedOSCheck=false" -J"-Doracle.install.db.validate.memoryCheck=false" - Oracle 12c 中该方式更可靠;11g 某些早期补丁版本可能忽略此参数,建议优先试
-ignorePrereq
为什么 -ignorePrereq 有时不生效?
不是参数坏了,而是执行上下文错了。
- 用普通用户权限运行 CMD/PowerShell → 安装器读不到系统信息,可能报
INS-32035等新错 - 路径含空格或中文(如
C:\我的数据库\database\setup.exe)→ JVM 参数解析失败,静默忽略-ignorePrereq - 双击
setup.exe再点“是”继续 → 这是图形界面另起进程,命令行参数完全丢失 - 用了 32 位
setup.exe装在 64 位 Win10 上,且没装 32 位 VC++ 运行库 → 启动失败,根本走不到参数解析阶段
真正卡住的地方往往不在 XML 修改或参数拼写,而在权限、路径、架构匹配这些底层细节。改完记得清掉上次失败残留(比如注册表里的 HKEY_LOCAL_MACHINE\SOFTWARE\Oracle),否则可能复用旧校验结果。


















