Oracle 11g在Windows 10需手动修改cvu_prereq.xml添加Windows 10兼容声明、setup.exe必须以管理员身份运行并设为Windows 7兼容模式、hosts中127.0.0.1 localhost须取消注释且无重复条目。
oracle 11g 在 windows 10 上无法直接启动 setup.exe,不是安装包坏了,而是安装程序主动拒绝运行——它压根没把 win10 识别成支持系统。 必须手动“骗过”它的环境检测,否则连向导界面都进不去。
修改 cvu_prereq.xml 添加 Windows 10 兼容声明
Oracle 安装前会读取 cvu_prereq.xml 文件校验操作系统版本。Win10 的内核版本号是 10.0(对应 NT 10.0),而原始文件只写到 Windows 8.1(NT 6.3)。不补上,setup 就直接报错退出。
操作路径:database\stage\cvu\cvu_prereq.xml
在文件末尾 </OPERATING_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="5119"/>
</ENV_VAR_LIST>
</OPERATING_SYSTEM>
关键点:
- RELEASE 值必须是
"10.0",不是"6.2"(那是 Win8 的伪装写法,已过时) - VALUE="3" 表示兼容级别,沿用已有逻辑即可,不要改
- 如果装的是 32 位 Oracle,把
"64-bit"改成"32-bit" - 保存后务必用记事本另存为 UTF-8 编码(避免 BOM 或乱码导致解析失败)
setup.exe 必须以管理员身份运行 + 兼容模式双保险
即使改了 XML,普通用户权限仍会导致服务注册失败、监听器无法写入注册表、oraInventory 目录创建被拒等静默错误。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
正确做法:
- 右键
setup.exe→ 属性 → 兼容性 → 勾选“以兼容模式运行这个程序” → 选择“Windows 7” - 同时勾选“以管理员身份运行此程序”
- 点击“确定”保存,然后**再次右键 → “以管理员身份运行”**(兼容模式设置不会自动触发提权,这一步不能省)
常见误区:
- 只设兼容模式不提权 → 卡在“正在启动 Oracle Universal Installer”不动
- 只提权不设兼容模式 → 报
INS-32035或直接闪退 - 用普通用户双击运行 → 看似能进界面,但后续 DB 创建阶段必失败
hosts 文件必须确保 127.0.0.1 localhost 未注释
Oracle 安装过程中会调用本地解析验证主机名。Win10 默认的 C:\Windows\System32\drivers\etc\hosts 中,127.0.0.1 localhost 这行常被注释掉(前面带 #),导致 DBCA 创建实例时抛出 ORA-12545 或 INS-20802 错误。
检查并修正:
- 用记事本(**必须右键“以管理员身份运行”记事本**)打开
hosts - 找到
#127.0.0.1 localhost这行,删掉开头的# - 确保没有重复的
127.0.0.1条目(尤其别留着旧的127.0.0.1 your-pc-name冲突) - 保存;若提示无权限,说明没用管理员记事本,重来
真正卡住的地方往往不在安装界面进度条,而在后台服务注册和网络配置环节。XML 改错一行、hosts 多一个空格、setup 少一次右键提权,都可能让整个过程停在某个无声的节点——这些细节没有日志提示,只能靠提前堵死。

















