亲爱滴伙伴们,我们又见面了。接上篇Linux7平台Oracle19CRAC安装用户互信处理。最近在安装19C过程中又碰到跟互信相关的问题,故在本篇做个总结输出。
环境介绍:
操作系统:Redhat7.6
数据库版本:19.7
是否RAC:是
问题一、GI安装完成之后,装DB软件时报用户互信没配置
项目期紧张,众基友在夜深人静的时候还在哼哧哼哧的搞事,一个负责2套RAC安装的哥们在GI都安装成功的情况下,心想今天可以早点搞完回家了。谁知在安装DB软件的时候,2套数据库在进行UI界面用户互信配置完成之后,点击next时报用户互信没配置。然后手动命令验证需要输入密码,互信配置失败。
尝试手动去配置互信,发现配置完之后一样需要输入密码。最后笔者接手上去瞧瞧看这哥们到底是姿势不对,还是纯粹手黑。
先检查手动配置互信脚本未发现异常
继续检查.ssh及其下面的文件权限,发现均正常
验证互信的确没配置成功,需要输入密码
看到这笔者决定把所有节点的.ssh目录全删掉,手动重新配置试试,结果还是一样的令人失望,还是需要输入密码。既然ssh不行,查看/var/log/secure安全日志是否有发现。
日志显示目录/home/oracle的所有者或模式错误
继续查看/home/oracle目录权限为775,而涉及GI安装的grid用户目录/home/grid权限为700
于是将/home/oracle目录权限修改成700之后,验证用户互信成功了,DB软件安装也正常了。
后面和哥们沟通发现/home/oracle是手动创建的,这坑造的......从这个问题我们可以看到互信配置不仅仅只跟.ssh权限有关系,而且和用户主目录权限也有关系。
问题二、dbca建库在第四步选择节点后点击next时报互信未配置[INS-06006]Passwordless SSH connectivity not set up between the followingnode(s): [racdb1].
先简单描述下经过,哥们在安装GI及DB软件均正常的情况下,开始DBCA建库时报错。
先命令验证确认oracle用户互信正常
查看安全日志未发现异常
查看dbca日志发现异常
日志显示由于权限问题导致无法remove/tmp/CVU_19.0.0.0.0_oracle下的文件
查看/tmp/CVU_19.0.0.0.0_oracle(CVU执行框架目录)及其下面的文件显示用户为1001
看到这里我们知道了dbca时要先删除/tmp/CVU_19.0.0.0.0_oracle下面的文件,重新生成文件。由于这个目录及其所属用户为1001,故无法删除,导致报错。1001怎么来的呢?沟通了解到这机器上之前装过数据库,通过$GI_HOME/crs/install/rootcrs.sh-deconfig-force卸掉之后,/tmp目录下的残留的文件并没有随脚本运行完成之后自动删除。Oracle用户也干掉重建了,然后新装数据库时,新oracle的uid跟以前的不一样,于是就出现了1001。重新给/tmp下所有1001的目录及文件进行级联属主变更
当确认/tmp下oracle相关目录及文件所属用户组正确之后,重新运行dbca建库正常了。
看到这我们可能会有疑问,为啥/tmp目录下文件不能操作竟然会报用户互信未创建?dbca在第四步选择节点之后点击下一步时,在进入检测用户互信这个函数方法中,/tmp/CVU_19.0.0.0.0_oracle(CVU执行框架目录)下的文件创建动作是包含在其中,所以只要其中一部分代码运行异常,就会抛出互信未配置错误。这个我们从dbca日志中的函数调用过程可以看出端倪。
本次分享到此结束,咋们回见。