Windows Server上安装Oracle所需Loopback适配器的核心是:正确安装对应系统版本的适配器(2008 R2及更早用Microsoft Loopback Adapter,2012起用Microsoft KM-TEST环回适配器),并配置IP地址(如192.168.1.100)与子网掩码255.255.255.255,同时启用weakhostreceive/weakhostsend模式以支持跨接口通信。

Windows Server上配置Oracle所需的Loopback适配器,核心就两件事:装对网卡、配对参数。否则Oracle安装阶段会卡在“网络配置需求未执行”报错,或者监听启动后客户端连不上。
怎么安装Microsoft Loopback Adapter(不同系统版本名称不同)
Windows Server 2008 R2 及更早版本用 Microsoft Loopback Adapter;2012/2012 R2/2016 开始改叫 Microsoft KM-TEST 环回适配器——名字变了,功能一样,不能混用旧名搜索。
- 以管理员身份运行CMD,输入
hdwwiz(不是hdwwiz.exe,不带扩展名),启动硬件添加向导 - 选“安装我手动选择的硬件”,点“下一步” → 选“网络适配器” → 厂商选
Microsoft→ 网络适配器按系统版本选:
• 2008 R2:选Microsoft Loopback Adapter
• 2012 R2 及以后:选Microsoft KM-TEST 环回适配器 - 装完后,在“网络连接”里会多出一个未命名或叫“本地连接 X”的新适配器,右键它 → “属性” → 双击
Internet 协议版本 4 (TCP/IPv4)
IP地址和子网掩码必须这样配
Loopback适配器的IP不是随便填的。它要模拟VIP(虚拟IP),但又不能参与真实路由,所以子网掩码必须是 255.255.255.255,这是关键。
- IP地址填你打算给Oracle监听用的地址,比如
192.168.1.100(不能和物理网卡在同一子网,避免冲突) - 子网掩码必须设为
255.255.255.255—— 这不是笔误,也不是偷懒,是强制该接口只响应发给自己的包,不参与ARP广播和路由转发 - 默认网关、DNS、WINS 全部留空,不要填任何值
为什么一定要开 weakhostreceive/weakhostsend?
Windows默认启用 stronghost 模式,意味着每个网卡只处理“目标IP属于本接口”的入包。Loopback适配器配了VIP,但客户端请求是从物理网卡进来的,系统发现目标IP不在物理网卡上,就直接丢弃,TCP握手卡在 SYN_RECV 状态。
- 用管理员CMD逐条执行(注意把引号里的接口名替换成你真实的网卡名):
netsh interface ipv4 set interface "环回" weakhostreceive=enablednetsh interface ipv4 set interface "环回" weakhostsend=enablednetsh interface ipv4 set interface "外网" weakhostreceive=enablednetsh interface ipv4 set interface "外网" weakhostsend=enabled - 接口名必须准确,大小写敏感,可用
netsh interface ipv4 show interfaces查看当前所有接口的“Idx”和“名称” - 这条命令不是一次性的——系统重启后不会保留,建议写成bat脚本放在启动项里,或做成服务自动运行
Oracle安装时还卡在“网络配置需求未执行”?检查这三点
装了、配了、开了weakhost,还是报这个错,大概率是这三个隐藏条件没满足:
- 计算机名必须是纯英文(不含中文、空格、下划线),且长度 ≤15 字符;改完需重启生效
- Loopback适配器必须是系统中“第一个启用的网络适配器”——把物理网卡禁用再启用Loopback,或在“高级 → 高级设置”里把Loopback拖到最上面
- Oracle安装程序必须用“以管理员身份运行”,且setup.exe兼容性设为
Windows XP (Service Pack 3)(尤其2008 R2 + Oracle 10g场景)
Loopback适配器本身不传数据,只骗过Oracle安装校验和监听绑定逻辑。真正影响连接的是后续的 listener.ora 中 HOST 值是否指向这个Loopback IP,以及防火墙是否放行对应端口——这两步漏掉,前面全白配。


















