oracle安装卡在先决条件检查,根本原因是检查机制依赖windows默认共享(c$、ipc$、admin$)及server服务,而非真实环境不达标;必须将注册表autosharewks值改为1并重启,才能启用系统级自动共享,缺一不可。

Oracle安装卡在先决条件检查,绝大多数情况不是环境真不达标,而是检查机制本身失败了——它依赖 Windows 默认共享(C$、IPC$)和 Server 服务通信,一旦被禁用或权限不足,就会报 PRVF-0002、PRVF-7531 或显示“预期值: N/A / 实际值: N/A”。跳过或修复检查,比硬调系统参数更实际。
为什么 net share c$=c: 常常没用?
单纯执行 net share c$=c: 只是临时创建一个共享,但 Oracle 安装程序需要的是系统级默认共享(由 LanmanServer 服务自动挂载),而这个功能在多数企业/加固环境中默认关闭。即使你手动加了 C$,IPC$ 和 ADMIN$ 缺失,检查仍会失败。
- 必须确认
Server服务已启动(services.msc中查 “Server” 状态为“正在运行”) -
net share命令输出里要能看到C$、IPC$、ADMIN$三项,缺一不可 - 若只看到
C$,说明AutoShareWks注册表项仍为0,需修改后重启
注册表 AutoShareWks 改成 1 才是关键
Windows 默认禁用工作站模式下的自动共享(AutoShareWks=0),Oracle 的先决条件检查正是通过该机制读取本机信息。不改注册表,任何命令行操作都是临时补丁。
- 路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters - 修改项:
AutoShareWks(DWORD),值从0改为1 - 必须重启系统,否则
net share仍不显示IPC$和ADMIN$ - 安装完成后务必改回
0,否则存在共享暴露风险
Windows 7/Server 2008 R2 上还要改 refhost.xml
Oracle 11g 官方未将 Windows 7(内核版本 6.1)列入认证列表,安装程序直接拒绝继续,报错类似“客户端不支持版本号为6.1的Windows 7操作系统”,此时先决条件检查甚至不会真正开始。
- 文件位置:
database\stage\prereq\db\refhost.xml(解压后的安装介质目录) - 在
<certified_systems></certified_systems>节点内插入以下内容:
<operating_system><version value="6.1"></version></operating_system>
setup.exe,否则无论共享开不开都卡在第一步静默安装(runInstaller)跳过检查的坑
静默安装用 -ignorePrereq 不是加了就生效,顺序、响应文件配置、密码字段缺一不可。
-
-ignorePrereq必须放在-responseFile参数之前,写成./runInstaller -responseFile xx.rsp -ignorePrereq会失效 - 响应文件中必须设
oracle.install.db.checkForOSSupport=false和DiskSpaceCheck=false - 必须保留
oracle.install.db.config.starterdb.password.ALL=xxx,删掉会导致后续验证失败 - 跳过 ≠ 兼容:
ORA-27123(共享内存)、ORA-00020(进程数超限)等会在建库时爆发,得提前调ulimit和内核参数
真正卡住的从来不是内存或磁盘,是 Oracle 检查逻辑和 Windows 安全策略之间的那层薄纸——它不读真实指标,只认共享是否存在、注册表是否放行、XML 是否认这个系统。修对地方,三分钟解决;只试 net share,可能反复折腾两小时。











