Oracle Grid安装第16步失败,两节点RAC部署遇SSH连接等故障
解决两节点RAC环境下Oracle Grid安装的INS-32128与PRCZ-2006异常
我之前帮不少人排查过这类RAC安装的坑,你遇到的是Grid安装到第16步时的SSH连接类错误,具体报错如下:
[INS-32128] 安装程序无法使用指定密码以'root'用户登录,请输入有效的'root'用户密码。附加信息:失败节点rac02摘要 - PRCZ-2006:无法与节点"rac02"建立SSH连接以执行命令"/usr/bin/id",出现java.lang.ArrayIndexOutOfBoundsException: 391。原因:问题原因未知;操作建议:无可用用户操作建议。
虽然官方提示原因未知,但实际排查下来有几个靠谱的解决方向,你可以按顺序试:
第一步:先确认root用户的SSH免密登录是否真的正常
别光靠之前配置的记忆,实际测一遍才靠谱:
- 在rac01节点用root执行
ssh rac02 /usr/bin/id,看能不能无密码返回用户ID信息 - 如果需要输密码,说明免密配置失效了,重新配置双向免密:
- 在rac01上执行
ssh-keygen -t rsa,一路回车默认生成密钥对 - 执行
ssh-copy-id rac02,输入rac02的root密码完成密钥复制 - 切换到rac02节点,重复上面两步把密钥复制到rac01
- 双向测试
ssh rac01 /usr/bin/id和ssh rac02 /usr/bin/id,确保都能无密码执行成功
- 在rac01上执行
第二步:检查节点间的主机名解析是否正确
RAC对主机名解析要求极高,两个节点的/etc/hosts必须同时配置公网、私网、VIP的解析:
比如你的hosts文件应该包含类似这样的条目(替换成你的实际IP):
192.168.1.101 rac01 rac01.example.com 192.168.1.102 rac02 rac02.example.com 192.168.2.101 rac01-priv 192.168.2.102 rac02-priv 192.168.1.111 rac01-vip 192.168.1.112 rac02-vip
配置完后用ping rac02、ping rac02-priv测试,确保都能正常通,没有丢包。
第三步:排查Java环境冲突导致的数组越界错误
那个java.lang.ArrayIndexOutOfBoundsException通常和环境变量里的JAVA配置有关,比如安装用户(grid)的环境变量里如果设置了自定义的JAVA_HOME或CLASSPATH,会和Grid安装程序自带的Java环境冲突:
- 切换到grid用户,执行
echo $JAVA_HOME和echo $CLASSPATH,如果有输出,暂时清空这些变量:unset JAVA_HOME unset CLASSPATH - 然后重新启动Grid安装程序试试。
第四步:清理安装残留的临时文件
安装失败后残留的临时文件可能会干扰后续安装,两个节点都要清理:
- 删除
/tmp下的Oracle临时目录:rm -rf /tmp/OraInstall* - 如果存在
/etc/oraInst.loc文件,也删掉它 - 清理完后重新启动安装程序
第五步:查看详细日志找线索
如果上面的步骤都没用,就去看安装日志和系统日志:
- Grid安装日志一般在
/tmp/OraInstallxxxxxx/installActionsxxxxxx.log(xxxxxx是随机字符串),里面会有更详细的错误堆栈 - 系统日志看
/var/log/messages,找找SSH连接时的权限错误、端口占用等信息
内容的提问来源于stack exchange,提问作者Aritra
相关产品推荐
相关产品推荐

