oracle 12c 官方不支持在 windows 10 上以兼容性模式运行 setup.exe,因其安装器基于oui,会主动检测系统真实版本,启用兼容模式反而导致prvg-11367等校验失败或服务无法启动;唯一有效方式是纯管理员身份运行,确保server服务开启、路径无中文空格、用户具log on as a service权限。
oracle 12c 官方不支持在 windows 10 上以兼容性模式运行 setup.exe —— 强行设置会直接导致安装失败或服务无法启动。
为什么兼容性模式对 Oracle 12c 安装无效
Oracle 12c(尤其是 12.1.0.1 和 12.2.0.1)的安装程序 setup.exe 是基于 Oracle Universal Installer(OUI)构建的,它在启动时会主动检测操作系统版本字符串、注册表键值、服务状态和系统策略。Windows 10 的内核标识(如 WindowsVersion=10.0)被 OUI 显式识别为合法目标平台,而非“需要降级模拟”的旧系统。
一旦你右键 setup.exe → 属性 → 兼容性 → 勾选“以兼容模式运行”,OUI 就会:
- 拒绝读取真实系统信息,转而尝试解析伪造的 GetVersionEx 返回值
- 在检查阶段报出 PRVG-11367 : Operating system version check failed 或类似错误
- 即使跳过检查,后续 ora.crsd、OracleServiceORCL 等关键服务也无法注册或启动
真正起作用的启动方式只有这一种
必须用管理员权限直接运行,不加任何兼容性干预:
- 右键
setup.exe→ 以管理员身份运行(不是“兼容模式 + 管理员”,是纯管理员) - 确保当前用户是本地管理员组成员(非仅“标准用户”)
- 关闭杀毒软件实时防护(特别是 Windows Defender 的“受控文件夹访问”需临时禁用)
- 确认
Server服务已启用并正在运行(services.msc中检查) - 解压路径不含中文、空格、特殊字符(例如
C:\oracle\database可,C:\我的软件\oracle db\不可)
常见报错与对应真实原因
如果你看到以下错误,不要尝试兼容模式,应检查对应底层条件:
-
PRVF-7532 : Sufficient amount of physical memory was not available→ 实际内存不足 4GB,或页面文件被限制 -
ORA-12560: TNS:protocol adapter error→OracleServiceORCL服务未创建/未启动,通常因账户权限或路径非法导致 -
Could not start service OracleServiceORCL. Error: 2→ 安装时选择了“使用现有 Windows 用户”,但该用户缺少Log on as a service权限 - 安装卡在“正在启动 Database Configuration Assistant” → 监听器未就绪,需提前运行
netca或确认TNSLSNR服务已手动启动
兼容性模式是 Windows 为老旧 Win32 GUI 程序设计的补丁机制,而 Oracle 12c 安装器是 Java+Shell+PowerShell 混合驱动的系统级部署工具,它的行为逻辑和依赖链远超兼容层能覆盖的范围。真正要解决安装问题,得盯住服务权限、路径合法性、内存与磁盘空间这些硬性门槛。











