[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:
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
很多问题可能都会出现同一个报错,所以呢,找到自己的问题,其他的都是参考。