首页 > 代码库 > [INS-40904] ORACLE_HOSTNAME does not resolve to a valid host name

[INS-40904] ORACLE_HOSTNAME does not resolve to a valid host name

利用DNS安装Grid Infrastructure时,安装到两个节点互信后,点击NEXT后出现下面这个错误:

技术分享

在网上搜了,有的说在各个节点的oracle用户下的.bash_profile添加export ORACLE_HOSTNAME=各自的主机名;

比如两个节点的主机名node1,node2;分别添加export ORACLE_HOSTNAME=node1,export ORACLE_HOSTNAME=node2

然后检查各个节点/etc/sysconfig/network里的hostname:node1的hostname=node1,node2的hostname=node2;也就是bash_profile里的ORACLE_HOSTNAME必须和/etc/sysconfig/network里的hostname相同。

我试了,结果不行。

oracle官网给的INS-40904的cause及action:

http://docs.oracle.com/cd/E82638_01/ERRMG/INS-40001.htm#ERRMG-GUID-CDA98142-B5FE-46F2-AAEA-BAB3C55B6CC8

技术分享

Cause:The value provided for ORACLE_HOSTNAME does not resolve to a valid host name.

Action:Provide a valid host name for ORACLE_HOSTNAME,and restart the installer.

搞了好久终于找到了问题所在,我DNS的反向解析有问题,少了个点,你懂的。前期准备没准备好,总是往后期去找问题。

 

关于public ip,private ip,vip,scan-ip放在dns里还是放在hosts里,该如何去写?

如果你没有dns的话,只用hosts文件,当然全部写到hosts里了,但scan-ip只能写一个。当然最后会报错,报INS-20802 Oracle Cluster Verfication Utility failed.再次当然,这个错误可以忽略的(因为你用hosts文件,scan-ip只有一个,如果用DNS的话就不会报错了【这是网上搜到的解释,第三次当然,我验证是错的】)。

技术分享

想提供官网的错误连接的,没找到(官网肯定有解释的,只是我没搜到)

如果用DNS的话:

public ip放到DNS里

vip 放到DNS里hosts里

scan-ip放到DNS里,三个IP哦

private ip那都不放也行

废话了这么多,其实可以不看,我提供下连接和截图

https://docs.oracle.com/database/121/CWLIN/networks.htm#CWLIN216

技术分享

技术分享

当然上面我说过了,最后还是会报错,忽略吧(这个图和上面的图是同一个截图,只是表达意思)

技术分享

我使用的版本是oracle 11g R2,Grid Infrastructure的版本,我没看。

仅供参考,或许我使用DNS时哪儿设置的问题导致了这个问题的出现。

GNS没使用过,下面我把上面那个连接再发一遍并截GNS的图,上面有关于使用GNS的那些IP的配置,除了gns本身需要dns外,其他全放到GNS里

https://docs.oracle.com/database/121/CWLIN/networks.htm#CWLIN216

技术分享

技术分享

技术分享

 

很多问题可能都会出现同一个报错,所以呢,找到自己的问题,其他的都是参考。

[INS-40904] ORACLE_HOSTNAME does not resolve to a valid host name