安装RAC的时候报错:
[oracle@node1 grid]$ ./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose
Performing pre-checks for cluster services setup
Checking node reachability...
Check: Node reachability from node "node1"
Destination Node Reachable?
------------------------------------ ------------------------
node1 yes
node2 yes
Result: Node reachability check passed from node "node1"
Checking user equivalence...
Check: User equivalence for user "oracle"
Node Name Status
------------------------------------ ------------------------
node1 failed
node2 failed
Result: PRVF-4007 : User equivalence check failed for user "oracle"
ERROR:
User equivalence unavailable on all the specified nodes
Verification cannot proceed
根据网上查到的方法:
Verification of node connectivity was unsuccessful on all the nodes.
查询metalink发现是Oracle cluvfy工具的问题。Oracle在文章:Note:369598.1:User Equivalence Check Failed for User Oracle Using Ssh/scp中进行了详细的描述。
简单的说,Oracle在寻找ssh命令时,去/usr/local/bin目录下寻找,而ssh命令在/usr/bin目录下。
相应的解决方法也很简单,在/usr/local/bin目录下建立一个指向/usr/bin/ssh的链接就可以了。
root@ahrac1 # mkdir -p /usr/local/bin
root@ahrac1 # ln -s -f /usr/bin/ssh /usr/local/bin/ssh
root@ahrac1 # ln -s -f /usr/bin/scp /usr/local/bin/scp
不过再次尝试,仍然报错:
$ ./runcluvfy.sh comp nodecon -n ahrac1,ahrac2 -verbose
Verifying node connectivity
ERROR:
User equivalence unavailable on all the nodes.
Verification cannot proceed.
Verification of node connectivity was unsuccessful on all the nodes.
后来才发现,原来Oracle用户的ssh验证步骤必须先执行:
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
Enter passphrase for /export/home/oracle/.ssh/id_rsa:
Identity added: /export/home/oracle/.ssh/id_rsa (/export/home/oracle/.ssh/id_rsa)
Enter passphrase for /export/home/oracle/.ssh/id_dsa:
Identity added: /export/home/oracle/.ssh/id_dsa (/export/home/oracle/.ssh/id_dsa)
$ ./runcluvfy.sh comp nodecon -n ahrac1,ahrac2 -verbose
解决不了.....
后来发现用ssh node2 date的时候需要输入密码,这个好像不行,于是手工建立SSH用户等效性配置:
node1:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
node2:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
node1:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh node2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh node2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys node2:~/.ssh/authorized_keys
问题解决