INS-20801错误本质是Oracle Net Configuration Assistant(NetCA)启动失败后被安装程序统一包装的兜底错误码,真正原因多为/etc/hosts中未正确映射hostname、ORACLE_HOME环境变量残留或libaio等依赖缺失,需通过installActions.log定位具体异常。
ins-20801 错误和网卡名称无关,别白费时间改 eth0/ens33 名字。这个错误根本不是网卡命名不规范导致的,查日志会发现它实际是 oracle net configuration assistant 启动失败后被 installer 统一包装的“兜底错误码”,真正问题藏在 installactions.log 里——而日志里几乎从不提网卡名。
INS-20801 真正指向的是 /etc/hosts 配置错位
Oracle 安装时会用 hostname 命令取当前主机名,再拿这个名去查 /etc/hosts。如果查不到对应行,NetCA 就直接 abort,上层只报 INS-20801。典型现象:
-
hostname输出bogon或localhost.localdomain,但/etc/hosts里只有127.0.0.1 localhost - IP 地址写的是内网地址(如
192.168.127.130),但 hostname 解析失败或反向 DNS 不通 - 同一台机器有多个网卡,
hostname返回的是某个未在/etc/hosts中显式映射的接口名
解决方法很简单:
- 运行
hostname确认当前主机名 - 编辑
/etc/hosts,加一行:127.0.0.1 <你的hostname>(推荐)或<实际IP> <你的hostname>(需确保该 IP 可路由且稳定) - 不要删掉原有的
127.0.0.1 localhost行,保留它
为什么检查网卡名反而会误导排查方向
网卡名(如 ens33、eth0)本身不影响 INS-20801。但很多人看到“网络配置失败”就去翻网卡,结果:
- 改了
/etc/sysconfig/network-scripts/ifcfg-xxx却没重启 network 服务,配置没生效 - 强行把网卡名改成
eth0导致 udev 规则冲突,系统启动变慢甚至网络不可用 - 忽略真正关键点:Oracle 只关心
hostname+/etc/hosts是否闭环,根本不读网卡设备名
Oracle RAC 场景下才需要统一网卡名,单机安装完全不需要碰这个。
INS-20801 必须看 installActions.log 才能定位
错误码本身没信息量,必须打开日志确认真实失败点:
- 日志路径通常是:
$ORACLE_BASE/cfgtoollogs/installActions*.log - 搜索关键词:
Oracle Net Configuration Assistant、NetCA、java.lang.Exception - 常见真实错误行示例:
oracle.net.ca.NetCAFatalException: 检测到环境错误: Oracle 主目录在环境中已设置为 ...或Could not resolve hostname 'xxx' - 如果看到
libaio相关报错,说明是依赖缺失,不是 hosts 问题 —— 此时应运行yum install -y libaio
跳过 NetCA 安装(勾选“稍后配置”)能绕过 INS-20801,但只是掩耳盗铃:后续手动运行 netca 一样会失败,问题没解决。
最常被忽略的其实是 ORACLE_HOME 环境变量残留。哪怕你这次装新版本,只要系统环境变量里还存着旧路径,NetCA 就会优先读它并报错 —— 这比 hosts 配置错更隐蔽,也更难发现。


















