这是同事 遇到的问题 ,在这里做个标记,希望对大家有所帮助。


一.问题描述。


操作系统: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 on ​local 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--