这是同事遇到的问题,在这里做个标记,希望对大家有所帮助。
一.问题描述。
操作系统:Microsoft Windows x64 (64-bit) 2012
数据库版本:Oracle11g 11.2.0.4
经查询,11.2.0.4在windows2012上通过了验证。
Grid安装成功,crs_stat -t 查看相关资源都是online,状态正常
安装DB软件时,第4步,选择安装集群数据库时出现报错:
[INS-35423] 安装程序检测到 Oracle Clusterware 未在本地节点上运行
此时检查集群状态是正常的。
注意:
软件安装过程会在$ORACLE_BASE/oraInventory/logs目录下生成详细的日志文件,仔细查看生成的日志文件能够帮助我们判断问题。
$ORACLE_BASE/oraInventory/logs/installActions*
$ORACLE_BASE/oraInventory/logs/oraInstall*.err, oraInstall*.out
二.处理过程。
1).Oracle支持工程师看到如下的日志信息:
FileName
------------
installActions2014-10-27_06-37-34PM.log
ORACLE_HOME
ORACLE_HOSTNAME GLZX-FWQ0001-vip<====使用了VIP作为HOSTNAME
....
INFO: 正在收集系统详细资料...
INFO: inventory location isC:\Program Files\Oracle\Inventory
WARNING: Exception occurred while checking for crs running onlocal node:[GLZX-FWQ0001-vip]
WARNING: oracle.cluster.deployment.ClusterwareInfo.isCRSRunning(ClusterwareInfo.java:835)
oracle.cluster.deployment.ClusterwareInfo.isCRSRunning(ClusterwareInfo.java:807)
oracle.install.library.crs.CRSInfo.isCRSRunningOnLocalNode(CRSInfo.java:829)
oracle.install.library.crs.CRSInfo.isCRSRunningOnLocalNode(CRSInfo.java:798)
oracle.install.ivw.db.validator.NodeSelectionValidator.validate(NodeSelectionValidator.java:149)
oracle.install.commons.flow.validation.ValidationHelper.validateState(ValidationHelper.java:185)
oracle.install.commons.flow.AbstractFlowExecutor.validate(AbstractFlowExecutor.java:419)
oracle.install.commons.flow.AbstractFlowExecutor.leaveVertex(AbstractFlowExecutor.java:643)
oracle.install.commons.flow.AbstractFlowExecutor.transition(AbstractFlowExecutor.java:335)
oracle.install.commons.flow.AbstractFlowExecutor.nextState(AbstractFlowExecutor.java:275)
oracle.install.commons.flow.AbstractFlowExecutor.nextViewState(AbstractFlowExecutor.java:234)
oracle.install.commons.flow.DefaultFlowNavigator.goForward(DefaultFlowNavigator.java:58)
oracle.install.commons.flow.jewt.FlowWizard$1.run(FlowWizard.java:125)
oracle.install.commons.flow.jewt.FlowWizard$TransitionManager$1.run(FlowWizard.java:101)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:415)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
java.util.concurrent.FutureTask.run(FutureTask.java:123)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:662)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:688)
java.lang.Thread.run(Thread.java:637)
SEVERE: [FATAL] [INS-35423] 安装程序检测到 Oracle Clusterware 未在本地节点上运行。
原因: 您已选择当 Oracle Clusterware 堆栈未在本地节点上运行时安装 Oracle RAC。
操作: 通过以 root 用户身份从 Oracle Clusterware 主目录 (网格主目录) 运行以下命令来启动 Oracle Clusterware 堆栈: /bin/crsctl start crs。Oracle Clusterware 堆栈运行后, 重新启动安装程序并继续安装 Oracle RAC。
INFO: Advice is ABORT
INFO: Adding ExitStatus INVALID_USER_INPUT to the exit status set
2).进一步分析后,发现这是一个bug,并提供了如下的信息:
matched with
Bug 17881910 - INS-35423 DURING RAC DATABASE INSTALL
3).根据建议做了如下处理:
由于之前提到的bug,在java程序检索HOSTNAME的时候发生错误,导致使用到的是您VIP的HOSTNAME。
参考您提供的installActions2014-10-27_06-37-34PM.log
ORACLE_HOME
ORACLE_HOSTNAME GLZX-FWQ0001-vip <====使用了VIP作为HOSTNAME
因此,报出的异常也是针对 该错误主机名的
WARNING: Exception occurred while checking for crs running on local node:[GLZX-FWQ0001-vip]
建议通过以下方式规避:
安装数据库软件时强制指定HOSTNAME为GLZX-FWQ0001
setup.exe -debug ORACLE_HOSTNAME=GLZX-FWQ0001
感谢杨同学提供的素材。
--end--