描述Solaris 10上的Oracle RAC 11.2.0.1新增节点的过程。
这一篇介绍添加节点过程中碰到的问题。
11gr2RAC环境增加新节点(一):http://yangtingkun.itpub.net/post/468/520949
11gr2RAC环境增加新节点(二):http://yangtingkun.itpub.net/post/468/521029
11gr2RAC环境增加新节点(三):http://yangtingkun.itpub.net/post/468/521097
11gr2RAC环境增加新节点(四):http://yangtingkun.itpub.net/post/468/521159
除了第一个问题,几乎所有的问题都和ssh配置有关。
bash-3.00$ ./addNode.sh
正在启动 Oracle Universal Installer...
检查交换空间: 必须大于 500 MB。 实际为 4623 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过
Oracle Universal Installer, 版本 11.2.0.1.0 Production
版权所有 (c) 1999, 2009, Oracle。保留所有权利。
SEVERE:无法从命令行或响应文件中获取以下变量的值:
CLUSTER_NEW_NODES(NewNodes)
无法继续进行无提示安装。
直接运行addNode.sh报错,根据提示尝试export CLUSTER_NEW_NODES=(racnode3),无效。
通过addNode.sh –help,得到的帮助信息也没有任何帮助,所有的信息都和CLUSTER_NEW_NODES没有关系。
最后还是通过查询文档发现命令行为:
$ ./addNode.sh "CLUSTER_NEW_NODES={racnode3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={racnode3-vip}"
第二个问题仍然是开始没有在主节点配置到节点3的ssh。
本来认为和安装过程一样,可以在图形界面完成这个操作,但是Oracle并没有启动图形界面,在验证的时候直接报错了。
$ ./addNode.sh "CLUSTER_NEW_NODES={racnode3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={racnode3-vip}"
正在启动 Oracle Universal Installer...
检查交换空间: 必须大于 500 MB。 实际为 4623 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过
Oracle Universal Installer, 版本 11.2.0.1.0 Production
版权所有 (c) 1999, 2009, Oracle。保留所有权利。
执行测试以检查节点 racnode2,racnode3 是否可用
............................................................SEVERE:所选远程节点 'racnode3' 不可访问。
... 100% 已完成。
这个错误信息很令人迷惑,检验发现racnode3是可以访问的。
这个报错发生在验证阶段,因此尝试直接调用验证工具,检查错误信息:
bash-3.00$ cd /data/grid/bin
bash-3.00$ cluvfy stage -pre nodeadd -n racnode3 -fixup -fixupdir /data/backup/fixed
执行 添加节点 的预检查
正在检查节点的可访问性...
节点 "racnode1" 的节点可访问性检查已通过
正在检查等同用户...
PRVF-4007 : 用户 "oracle" 的等同用户检查失败
在以下节点上检查失败:
racnode3
ERROR:
等同用户在所有指定的节点上都不可用
验证无法继续
在所有节点上预检查 添加节点 失败。
这次错误信息就明确一些了,Oracle在验证用户等同检查时失败。解决方法就是第一篇文章最后介绍的,通过sshUserSetup.sh脚本添加节点3的ssh登陆信息。
第三个问题还是和ssh配置有关,节点3运行root.sh时报错:
# /data/grid/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying coraenv to /usr/local/bin ...
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2010-12-23 14:32:23: Parsing the host name
2010-12-23 14:32:23: Checking for super user privileges
2010-12-23 14:32:23: User has super user privileges
Using configuration parameter file: /data/grid/crs/install/crsconfig_params
/data/grid/bin/cluutil -sourcefile /var/opt/oracle/ocr.loc -sourcenode racnode2 -destfile /data/grid/srvm/admin/ocrloc.tmp -nodelist racnode2 ... failed
Unable to copy OCR locations
validateOCR failed for +DATA at /data/grid/crs/install/crsconfig_lib.pm line 8088.
错误信息时无法拷贝OCR,导致问题的原因并不是很清楚,为了确定问题,检查/data/grid/crs/install/crsconfig_lib.pm文件的第8088行:
validateOCR ($ORA_CRS_HOME, $CLUSTER_NAME, $OCR)
在验证OCR时报错,不过这个错误也没有太大的意义,为了进一步得到确切的错误信息,手工运行出错的脚本:
# /data/grid/bin/cluutil -sourcefile /var/opt/oracle/ocr.loc -sourcenode racnode2 -destfile /data/grid/srvm/admin/ocrloc.tmp -nodelist racnode2
oracle.ops.mgmt.cluster.ClusterException: PRKC-1044 : 无法利用 Shell /usr/bin/ssh 和 /usr/bin/rsh 检查节点 racnode2 的远程命令执行安装
permission denied
Oracle在利用ssh或scp来执行远端拷贝,这个命令需要用oracle用户运行。
# su - oracle
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
$ /data/grid/bin/cluutil -sourcefile /var/opt/oracle/ocr.loc -sourcenode racnode2 -destfile /data/grid/srvm/admin/ocrloc.tmp -nodelist racnode2
oracle.ops.mgmt.cluster.ClusterException: PRKC-1044 : 无法利用 Shell /usr/bin/ssh 和 /usr/bin/rsh 检查节点 racnode2 的远程命令执行安装
permission denied
切换到oracle用户,发现同样的错误,看了ssh在节点3上的配置并没有完成,Oracle的脚本只是设置了节点1上的配置。
$ cd
$ cd .ssh
$ scp * racnode3:/export/home/oracle/.ssh/
authorized_keys 100% |***********************************************************************| 450 00:00
authorized_keys.ri.b 100% |***********************************************************************| 239 00:00
config 100% |***********************************************************************| 23 00:00
config.backup 100% |***********************************************************************| 21 00:00
id_rsa 100% |***********************************************************************| 887 00:00
id_rsa.pub 100% |***********************************************************************| 225 00:00
identity 100% |***********************************************************************| 887 00:00
identity.pub 100% |***********************************************************************| 225 00:00
known_hosts 100% |***********************************************************************| 932 00:00
known_hosts.ri.bak 100% |***********************************************************************| 224 00:00
拷贝节点1上ssh的配置到节点3上对应的目录,问题最终解决。
最后一个问题是数据库addNode.sh时报错,在拷贝了90%之后,出现了下面的错误:
实例化脚本以添加节点 (2010年12月23日 星期四 下午03时40分57秒 CST)
. 1% 已完成。
实例化添加节点脚本完成
复制到远程节点 (2010年12月23日 星期四 下午03时41分23秒 CST)
.........................................................................................WARNING:根据排除文件列表 '/tmp/OraInstall20
10-12-23_03-40-05PM/installExcludeFile.lst' 将目录 /data/oracle/product/11.2 复制到节点 'racnode3' 时出错。[PRKC-PRCF-2015 : 一个或
多个命令在一个或多个节点上未成功执行 : ]
----------------------------------------------------------------------------------
racnode3:
PRCF-2023 : 以下内容由于不可读而未传输。
目录:
-
文件:
1) /data/oracle/product/11.2/dbs/core
----------------------------------------------------------------------------------
有关详细信息, 请参阅 '/data/oraInventory/logs/addNodeActions2010-12-23_03-40-05PM.log'。您可以在必需的远程节点上修复错误。有关错误恢
复信息, 请参阅安装指南。
90% 已完成。
主目录已复制到新节点
....../data/oracle/product/11.2 的 添加集群节点 未成功。
请查看 '/tmp/silentInstall.log' 以获取详细资料。
导致问题的原因是节点1上产生了一个core文件,导致拷贝失败。
删除这个文件:
bash-3.00$ cd /data/oracle/product/11.2/dbs
bash-3.00$ rm core
rm: core: 取消保护600 (yes/no)吗? yes
重新运行addNode.sh,问题解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-702897/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-702897/